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

网站建设古典风格二十条优化措施全文

网站建设古典风格,二十条优化措施全文,江苏天目建设网站,龙口网站制作多少钱数据完整性算法在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.hyszgw.com/news/10322.html

相关文章:

  • 网站备案服务内容建立网站流程
  • linux操作怎么做网站谷歌推广技巧
  • 新手建站教程报价单优化教程
  • 重庆建设网站谷歌浏览器app下载
  • 生产做网站表带的制造厂家揭阳百度快照优化排名
  • 上海做网站公司推荐网络软文是什么
  • 如何给自己的网站做外链广告视频
  • 企业网站排名要怎么做域名被墙查询
  • 盐城网站建设培训学校网站的营销推广方案
  • jsp做的大型网站东莞推广平台有哪些
  • 做网站为什么需要购买域名手机网站制作教程
  • 百度收录好的网站市场营销方案怎么写
  • 那家专门做特卖的网站国外b站不收费免费2023
  • 代码编写网站aso优化app推广
  • 网站开发和游戏开发的区别泰安网站建设
  • 做中文网站的公司东莞网站提升排名
  • 简单网站设计草图浏览器大全网站
  • 网站页面由什么构成高端网站建设公司
  • 做播放器电影网站需要多少钱北京seo技术交流
  • 长沙网站建设网站视频运营管理平台
  • 西宁高端网站开发公司域名官网
  • wordpress新奇插件长沙seo关键词排名
  • 电商网站的制作今天的最新消息新闻
  • 哪个网站做动图北京互联网营销公司
  • 手机网站导航栏如何做最近疫情最新消息
  • 南京培训网站建设营销与销售的区别
  • 自适应网站三套代码快速网站排名提升
  • 淮安哪里有做网站的2345网址导航电脑版
  • 老河口网站建设seo优化推广多少钱
  • mysql做镜像网站建网站用什么软件