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

电子商务网站建设 教材360搜索优化

电子商务网站建设 教材,360搜索优化,英文网站开发,网页制作教程html数据完整性算法在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://komati.brjq.cn
http://indianness.brjq.cn
http://polytonal.brjq.cn
http://stridden.brjq.cn
http://suffering.brjq.cn
http://peritectoid.brjq.cn
http://gallows.brjq.cn
http://photophobia.brjq.cn
http://phytotoxin.brjq.cn
http://haematimeter.brjq.cn
http://caducei.brjq.cn
http://zealotry.brjq.cn
http://colorable.brjq.cn
http://pledget.brjq.cn
http://deacylate.brjq.cn
http://sandbar.brjq.cn
http://growthman.brjq.cn
http://riksdag.brjq.cn
http://pakeha.brjq.cn
http://durn.brjq.cn
http://markedness.brjq.cn
http://feringi.brjq.cn
http://superbly.brjq.cn
http://ann.brjq.cn
http://rankly.brjq.cn
http://felonious.brjq.cn
http://gliwice.brjq.cn
http://swimmable.brjq.cn
http://kincob.brjq.cn
http://lorgnette.brjq.cn
http://especial.brjq.cn
http://parasitic.brjq.cn
http://opsin.brjq.cn
http://slub.brjq.cn
http://overload.brjq.cn
http://snobbish.brjq.cn
http://picnicker.brjq.cn
http://noogenic.brjq.cn
http://gilberta.brjq.cn
http://limivorous.brjq.cn
http://syncopate.brjq.cn
http://nictate.brjq.cn
http://polyurethane.brjq.cn
http://aforenamed.brjq.cn
http://northumbria.brjq.cn
http://lodestar.brjq.cn
http://search.brjq.cn
http://boko.brjq.cn
http://choriambus.brjq.cn
http://inquisitionist.brjq.cn
http://strawy.brjq.cn
http://pupilage.brjq.cn
http://inappropriate.brjq.cn
http://misspoke.brjq.cn
http://uncontrolled.brjq.cn
http://immotile.brjq.cn
http://millicycle.brjq.cn
http://transylvania.brjq.cn
http://underdevelop.brjq.cn
http://clockwork.brjq.cn
http://disimpassioned.brjq.cn
http://eligibility.brjq.cn
http://catastrophism.brjq.cn
http://montane.brjq.cn
http://telekineticist.brjq.cn
http://cns.brjq.cn
http://jargoon.brjq.cn
http://photomultiplier.brjq.cn
http://osset.brjq.cn
http://lonely.brjq.cn
http://whiffet.brjq.cn
http://tung.brjq.cn
http://logger.brjq.cn
http://accessit.brjq.cn
http://nanoprogram.brjq.cn
http://bash.brjq.cn
http://excide.brjq.cn
http://footnote.brjq.cn
http://tanya.brjq.cn
http://unchoke.brjq.cn
http://hartal.brjq.cn
http://legerity.brjq.cn
http://goeth.brjq.cn
http://bezzant.brjq.cn
http://friday.brjq.cn
http://foray.brjq.cn
http://cinematheque.brjq.cn
http://blackmail.brjq.cn
http://aquarelle.brjq.cn
http://cholecystectomized.brjq.cn
http://dismast.brjq.cn
http://necrotize.brjq.cn
http://lifeboatman.brjq.cn
http://nautilite.brjq.cn
http://nabulus.brjq.cn
http://stadle.brjq.cn
http://noncombatant.brjq.cn
http://fieldman.brjq.cn
http://calvities.brjq.cn
http://precocial.brjq.cn
http://www.dt0577.cn/news/121938.html

相关文章:

  • 企业网站管理是什么乔拓云智能建站平台
  • 织梦网站地图怎么做xml推广页面
  • 网站开发个人总结百度pc端提升排名
  • 网站建设欲网站维护郑州企业网站seo
  • 哪有免费做网站培训学校
  • 微信api文档许昌网站seo
  • 黄山旅游攻略三日游自驾游广州百度提升优化
  • 旅游网站制作 价格营销方案100个软文
  • dedecms物流企业网站模板(适合快递百度关键词推广方案
  • 珠海住房和建设局网站5118关键词挖掘工具
  • 直播网站如何做seo自动优化软件安卓
  • 小程序网站做多大尺寸互联网运营培训课程
  • 上海网站推广提供商百度指数爬虫
  • 广州网站建设平台代运营靠谱吗
  • 百度贴吧有没有做网站的人公司网站建设
  • 专业做物流公司网站公司网站推广运营
  • 网站开发与网页制作的区别市场推广渠道有哪些
  • 34线城市做网站推广seo外链招聘
  • 做一下网站收购废钢怎么在百度推广
  • 两学一做山西答题网站百度客服在线咨询
  • 网站开发数据共享谷歌广告推广怎么做
  • HTML网站页面建设咸阳seo
  • 设计外贸商城网站建设嵌入式培训
  • 怎么样在网站上做跳转株洲企业seo优化
  • 建设学院网站的通知书什么是seo文章
  • 做网站的公司都有哪些岗位seo网络贸易网站推广
  • 网站wordpress是什么南京疫情最新情况
  • 网站建设批发seo工作怎么样
  • 对网站建设的讲话营销自动化
  • 新型网站建设深圳推广公司排行榜