当前位置: 首页 > news >正文

网站标题字体设计怎么样清除wordpress缓存

网站标题字体设计,怎么样清除wordpress缓存,wordpress菜单是什么,用html5做网站百度经验SHA(secure hashing algorithm)表示安全哈希算法.SHA是MD5的修正版本#xff0c;用于数据摘要和认证。哈希和加密类似#xff0c;唯一区别是哈希是单项的#xff0c;即哈希后的数据无法解密。SHA有不同的算法#xff0c;主要包括SHA-1, SHA-2, SHA-256, SHA-512, SHA-224, …SHA(secure hashing algorithm)表示安全哈希算法.SHA是MD5的修正版本用于数据摘要和认证。哈希和加密类似唯一区别是哈希是单项的即哈希后的数据无法解密。SHA有不同的算法主要包括SHA-1, SHA-2, SHA-256, SHA-512, SHA-224, and SHA-384等其中SHA-256是SHA-2家族的一个成员它把原数据转为256字节固定长度摘要信息SHA256的内部块大小为32位。本文介绍Golang如何使用sha256算法实现对配置文件的监控。 Golang hash256实现包 hash256包实现了FIPS 180-4规范中定义的SHA224、SHA256哈希算法。主要包括下面几个函数 func New() hash.Hash: 返回 hash.Hash用于计算SHA256哈希值。 func Sum256(data []byte) [Size]byte :返回计算SHA256的哈希值。 使用sha256.New() 下面示例使用New()函数返回Hash.hash: package mainimport (crypto/sha256fmt )func main() {h : sha256.New()h.Write([]byte(this is a password))// Calculate and print the hashfmt.Printf(%x, h.Sum(nil)) }过程很简单运行输出结果 289ca48885442b5480dd76df484e1f90867a2961493b7c60e542e84addce5d1e使用sha256.Sum256()函数 package mainimport (crypto/sha256fmt )func main() {sum : sha256.Sum256([]byte(this is a password))fmt.Printf(%x, sum) }更简洁输出结果一样。 下面示例展示两个字符串尽管只有一个字符微小差异但生成的hash却完全不同 package mainimport (crypto/sha256fmt )func main() {sum : sha256.Sum256([]byte(this is a password))sumCap : sha256.Sum256([]byte(This is a password))fmt.Printf(lowercase hash: %x, sum)fmt.Println()fmt.Printf(Capital hash: %x, sumCap) }运行输出结果 lowercase hash: 289ca48885442b5480dd76df484e1f90867a2961493b7c60e542e84addce5d1e Capital hash: 9ae12b1403d242c53b0ea80137de34856b3495c3c49670aa77c7ec99eadbba6e监控配置文件变化 我们需要观察文件是否变化标准实现使用time.Ticker每隔几秒重新计算配置文件的哈希值如果哈希值发生变化则重新加载。 获取配置hash值 func getCfgHash() string {file, err : os.Open(test.cfg)defer file.Close()if err ! nil {panic(err)}hash : sha256.New()if _, err : io.Copy(hash, file); err ! nil {panic(err)}sum : fmt.Sprintf(%x, hash.Sum(nil))return sum }上面方法步骤 打开配置文件从crypto/sha256创建hash.Hash对象解析文件内容到hash对象调用Sum方法获得hash值 上面示例中test测试文件可以随便输入一些内容生成文件hash值。 下面实现比较hash值方法 func compare(new string) bool {var oldStr oldFile, _ : os.Open(tmp.hash)oldBytes, _ : io.ReadAll(oldFile)oldStr string(oldBytes)oldFile.Close()if oldStr ! new {newFile, _ : os.Create(tmp.hash)fmt.Println(new hash:, new)newFile.WriteString(new)RefreshCfg()return false}return true }先加载上一次保存的配置文件hash值与本次传入最新hash值进行比较如不同则保存最新hash值用于下一次比较同时调用RefreshCfg()方法该方法是具体业务实现这里仅给出空实现 func RefreshCfg() {fmt.Println( refresh config information.) } 最后是main函数部分 func main() {// 先记录配置文件hash值cfgHash : getCfgHash()fmt.Println(cfg hash:, cfgHash)file, _ : os.Create(tmp.hash)file.WriteString(cfgHash)file.Close()// define an interval and the ticker for this intervalinterval : time.Duration(2) * time.Second// create a new Tickertk : time.NewTicker(interval)// start the ticker by constructing a loopfor range tk.C {fmt.Println(time running...)loadStr : getCfgHash()if !compare(loadStr) {fmt.Println(config file has changed...)}} }首先保存当前配置文件的Hash值。然后利用Ticker每2秒比较一次比较。运行程序修改配置文件可以立刻看到程序监控到变化并调用RefreshCfg方法。 下面给出完整代码实现 package mainimport (crypto/sha256timefmtioos )func main() {// 先记录配置文件hash值cfgHash : getCfgHash()fmt.Println(cfg hash:, cfgHash)file, _ : os.Create(tmp.hash)file.WriteString(cfgHash)file.Close()// define an interval and the ticker for this intervalinterval : time.Duration(2) * time.Second// create a new Tickertk : time.NewTicker(interval)// start the ticker by constructing a loopfor range tk.C {fmt.Println(time running...)loadStr : getCfgHash()if !compare(loadStr) {fmt.Println(config file has changed...)}} }func RefreshCfg() {fmt.Println( refresh config information.) }func getCfgHash() string {file, err : os.Open(test.cfg)defer file.Close()if err ! nil {panic(err)}hash : sha256.New()if _, err : io.Copy(hash, file); err ! nil {panic(err)}sum : fmt.Sprintf(%x, hash.Sum(nil))return sum }func compare(new string) bool {var oldStr oldFile, _ : os.Open(tmp.hash)oldBytes, _ : io.ReadAll(oldFile)oldStr string(oldBytes)oldFile.Close()if oldStr ! new {newFile, _ : os.Create(tmp.hash)fmt.Println(new hash:, new)newFile.WriteString(new)RefreshCfg()return false}return true }总结 数据加密算法规范非常复杂在大多数应用场景中需要广泛研究。但Golang提供了专门的库实现了许多流行的加密算法。本文演示了如何使用crypto/sha256对配置文件进行监控变化则重新加载配置文件。
http://www.w-s-a.com/news/986153/

相关文章:

  • 茂名模板建站定制WordPress注册不提示
  • 陕西营销型手机网站建设深圳制作网站服务
  • 受欢迎的锦州网站建设Wordpress 图片左右滑动
  • 湖南优化网站建设线上网站建设需求
  • 建什么类型的网站访问量比较大哪些外包公司比较好
  • php网站地图外贸建站哪家强外贸网站怎么做
  • 宁波五金网站建设中国建筑网官网投诉查询
  • 哪个网站注册域名便宜免费流程图制作网站
  • 潍坊做网站南宁网站seo优化公司
  • 网站建设的基本技术步骤无网站营销
  • 我国旅游网站的建设网站开发 混合式 数据库
  • 淘宝客网站域名家居网站开发项目计划书
  • 网站打不开显示asp苏州注册公司需要多少钱
  • 凡科建站登录官网wordpress主题有什么用
  • 西安双语网站建设怎么做网页动图
  • 宝安自适应网站建设无锡新区企业网站推广
  • 肇庆建设局网站cpanel 安装wordpress
  • 长春启做网站多少怎样换wordpress域名
  • 山西网站建设情况汇总vs2010 c 建设网站
  • 网站推广策划书 精品深圳市住建局和建设局官网
  • 住房和城乡建设部干部学院网站一般做公司网站需要哪几点
  • 网站制作流程详解(学做网站第一步)免费个人网站模版ps
  • 狮山网站建设公司微信平台软件开发
  • 绥芬河网站建设学网站开发的能找什么工作
  • 网站域名申请之后如何做网站微信公众号网页版登录入口
  • 网站优化图片省级精品课程网站
  • 婚纱摄影的网站模板怎么做网站自己当站长
  • 江西建设部网站wordpress弹出式广告
  • 工商年检在哪个网站做中国建设银行个人登录
  • seo做网站郑州巩义网站建设