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

电子商务网站建设 教材关键词排名查询工具

电子商务网站建设 教材,关键词排名查询工具,同一网站能否同时运行php和asp,网页关键词优化软件数据完整性算法在shell及python中的实践 文章目录数据完整性算法在shell及python中的实践1 预备知识1.1 摘要算法1.2 报文(数据)完整性校验1.3 python byte类型字符串与普通字符串区别2 传统方法(散列函数)2.1 在shell中实践2.2 在…

数据完整性算法在shell及python中的实践

文章目录

  • 数据完整性算法在shell及python中的实践
    • 1 预备知识
      • 1.1 摘要算法
      • 1.2 报文(数据)完整性校验
      • 1.3 python byte类型字符串与普通字符串区别
    • 2 传统方法(散列函数)
      • 2.1 在shell中实践
      • 2.2 在python中实践的两种方法(hashlib)
        • a. 两步法
        • b. 一步法
    • 3 主流方法(消息认证码)
      • 3.1 在shell中实践
      • 3.2 在python中实践
    • 4 最后

1 预备知识

1.1 摘要算法

md5
sha1
sha256
sha512
sha1024

1.2 报文(数据)完整性校验

在Internet上,为了确保接收方所接收到的报文数据的完整性,人们采用消息认证来实现,主要方式有以下3种方式:消息认证码、散列函数和消息加密。

  • 消息认证码(MAC):它是一个需要密钥的算法,可以对可变长度的消息进行认证,把输出的结果作为认证符。

  • 散列(HASH):它是将任意长度的消息映射成为定长的散列值,以该散列值作为认证符。(Hash一般翻译做散列、杂凑,或音译为哈希)

  • 消息加密(encryption):它将整个消息的密文作为认证符。

消息认证码:

  1. MAC(Message Authentication Code):消息认证码
  2. HMAC(Hash-based Message Authentication Code):基于哈希消息认证码。 基于Hash函数和密钥进行消息认证的方法,现在已经成为事实上的Internet安全标准

1.3 python byte类型字符串与普通字符串区别

>>> x = 'abcdef'
>>> bx = b'abcdef'
>>> .
>>> print(x)
>>> abcdef
>>>
>>> print(bx)
>>> b'abcdef'
>>> .
>>> print(x.encode('utf-8'))
>>> b'abcdef'

2 传统方法(散列函数)

以下实践全部使用 md5 算法进行

2.1 在shell中实践

^_^ kevin@TM1701-b38cbc23:~$ key='secret'
^_^ kevin@TM1701-b38cbc23:~$ data='abcdef'
^_^ kevin@TM1701-b38cbc23:~$ echo -n ${key}${data} |  md5sum
2ab627f179598ff1a2dab029cd1e38c5  -

2.2 在python中实践的两种方法(hashlib)

两种方法结果一样

a. 两步法

>>> key = b'secret'
>>> data = b'abcdef'
>>> md5x = hashlib.md5()
>>>
>>> md5x.update(key)
>>> print(md5x.hexdigest())
5ebe2294ecd0e0f08eab7690d2a6ee69
>>>
>>> md5x.update(data)
>>> print(md5x.hexdigest())
2ab627f179598ff1a2dab029cd1e38c5        #--- 看1

b. 一步法

>>> key_data = b'secretabcdef'
>>> md5ab = hashlib.md5()
>>>
>>> md5ab.update(key_data)
>>> print(md5ab.hexdigest())
2ab627f179598ff1a2dab029cd1e38c5        #--- 看1

3 主流方法(消息认证码)

3.1 在shell中实践

^_^ kevin@TM1701-b38cbc23:~$ key='secret'
^_^ kevin@TM1701-b38cbc23:~$ data='abcdef'
^_^ kevin@TM1701-b38cbc23:~$
O_O kevin@TM1701-b38cbc23:~$ echo -n ${data} | openssl dgst -hmac ${key} -md5 -hex
(stdin)= ed838766eed9b76a06dcb11fe3b87937        #--- 看2
^_^ kevin@TM1701-b38cbc23:~$ echo -n ${data} | openssl dgst -hmac ${key} -md5 -binary | base64
7YOHZu7Zt2oG3LEf47h5Nw==

3.2 在python中实践

>>> key = b'secret'
>>> data = b'abcdef'
>>>
>>> hmac_a_b = hmac.new(key, data, digestmod='md5')
>>>.
>>> hmac_a_b.hexdigest()
'ed838766eed9b76a06dcb11fe3b87937'
>>> print(hmac_a_b.hexdigest())
ed838766eed9b76a06dcb11fe3b87937        #--- 看2

4 最后

爱你

http://www.zhongyajixie.com/news/18215.html

相关文章:

  • 找人做网站如何起诉小学生摘抄新闻
  • 雄安建站服务网店运营推广方案
  • 企业做网站的凭证怎么做郑州网站公司哪家好
  • 罗山网站建设网络营销学什么内容
  • 公司网站怎么做关键词优化搜索关键词
  • 最新网站源码seo排名优化推荐
  • 国内外公司网站差异如何免费引流推广
  • 网站制作 网页显示不全杭州seo整站优化
  • 购买网站空间多少钱西安网站seo
  • 视频类的网站制作长春网站优化哪家好
  • 城市建设模拟游戏登陆网站百度seo发包工具
  • 网页设计图片位置怎么设置南安seo
  • 网站建设ecshop软文广告是什么意思
  • 网站专题页面开发十大广告公司
  • 网站建设与管理需要什么软件有哪些方面广州竞价外包
  • 厦门做网站价格百度关键词优化软件排名
  • 专门做动漫的网站有哪些排名优化seo公司
  • 重庆微信网站开发公广告推广网站
  • 广州网站设计制作报价上海专业seo服务公司
  • 推广平台方案吉林seo基础
  • 网站编程零基础入门百度安装应用
  • 网站建设外包兼职一元手游平台app
  • 柳州城市的城乡建设管理局网站网站收录量是什么意思
  • 长春工程公司招聘六年级上册数学优化设计答案
  • 绍兴网站建设设计注册城乡规划师报考条件
  • 做网站用什么技术互联网推广销售
  • html5可以做手机网站吗手机网站关键词seo
  • 做网站大概需要几个人百度收录情况
  • 宁德蕉城住房和城乡建设部网站成都seo整站
  • dw个人网站设计网络营销专家