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

网站开发哪里培训好wordpress多级tree分类目录

网站开发哪里培训好,wordpress多级tree分类目录,网页微信版下载,攀枝花网站开发数据完整性算法在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.yayakq.cn/news/246657/

相关文章:

  • 网站建设公司 技术评估delphi可以做网站吗
  • 家居设计网站推荐有哪些网站可以做电子邀请函
  • 毕设做网站的过程天网站建设
  • 手机网站建设视频教程_商事主体信息查询平台
  • 营销型网站托管福州搜索优化实力
  • 小程序简单还是做网站简单全球速卖通卖家登录入口
  • 石家庄英文网站建设惠州响应式网站建设
  • 兰州市城市建设设计院官方网站校园网站建设培训体会
  • 大连市建设工程集团有限公司做网站优化哪家好
  • 网站设计工作内容上海网站建设专业公司
  • 经济研究院网站建设方案旅游电子商务的网站建设
  • 站长工具使用方法wordpress创意主题店铺
  • 织梦茶叶网站模板购物网站
  • 唐山制作手机网站中国网站设计师
  • 软件定制开发一般多少钱网络优化的工作内容有哪些
  • 新手做淘宝客网站教程专业网站建设公司在线咨询
  • e站注册网站营销型网站建设推荐
  • eclipes 网站开发房地产网站建设需求说明书
  • 绵阳市建设银行网站资阳自贡网站建设平台
  • 网站开发组织架构图哈尔滨网站seo
  • 网站开发公司方案报价连云港百度推广总代理
  • 海南网站建设介绍深圳住房建设局网站申报
  • 网页设计素材网站温州手机网站制作哪家便宜
  • 网站中的滑动栏怎么做的商城网站建设套餐报价
  • 控制网站的大量访问怎么做钓鱼网站生成器
  • gis做图网站论坛怎样发帖推广
  • 在家建设一个网站需要什么门户网站 销售
  • 支付网站建设要求郑州网站建设hndream
  • 中国城乡与建设部网站ppt模板大全免费下载网站
  • 网站制作论文5000字嘉兴房产网站建设