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

厦门房地产网站建设网站链接数怎么做

厦门房地产网站建设,网站链接数怎么做,dedecms建站教程,.net网站开发是什么对象开发SHA-256 是一种密码学哈希函数,是 SHA-2(Secure Hash Algorithm 2)家族的一部分。它被广泛用于数据完整性验证、数字签名以及密码存储等领域。 1、SHA-256的原理 SHA-256 生成一个固定长度为 256 位(32 字节)的哈希值。无论输入数据的大小或类型,输出的哈希值始终是 25…

SHA-256 是一种密码学哈希函数,是 SHA-2(Secure Hash Algorithm 2)家族的一部分。它被广泛用于数据完整性验证、数字签名以及密码存储等领域。

1、SHA-256的原理

SHA-256 生成一个固定长度为 256 位(32 字节)的哈希值。无论输入数据的大小或类型,输出的哈希值始终是 256 位长。SHA-256 具有以下几个特点:

  • 单向性: 通过哈希值无法反推出原始数据。这使得它适用于存储密码等敏感信息。
  • 抗碰撞性: 找到两个不同的输入数据,它们的哈希值相同的难度非常高。
  • 雪崩效应: 输入数据的微小变化会导致输出的哈希值有显著变化。
  • 固定长度输出: 无论输入数据的大小如何,输出始终是256位。

2、SHA-256 的主要步骤

  1. 数据填充: 将数据填充到满足 512 位的整数倍。填充方式是先加一个 ‘1’ 位,然后加足够的 ‘0’,最后附加一个 64 位的数据长度。

  2. 初始散列值: 使用一组 32 位的常数初始化 8 个变量。

  3. 处理消息块: 对每个 512 位的消息块进行一系列数学运算,这些运算主要包括位运算、模加法和一些常量的使用。每个块处理后,将结果累加到初始散列值中。

  4. 输出最终哈希值: 所有块处理完后,将最终的 8 个变量拼接在一起形成 256 位的输出哈希值。

3、示例数据

假设我们要计算字符串 “abc” 的 SHA-256 哈希值。

3.1.数据填充(同SHA1,不再详细解释原因)

首先将输入数据填充到长度为 512 位的倍数(一个块为 512 位)。对于字符串 “abc”:

3.1.1 原始数据:

二进制表示(ASCII 编码):
a: 01100001
b: 01100010
c: 01100011
总共 24 位:01100001 01100010 01100011

3.1.2 添加一个 ‘1’ 位:

01100001 01100010 01100011 1

3.1.3 填充 ‘0’:填充到 448 位:

01100001 01100010 01100011 10000000

后面加 423 个 0

3.1.4 添加原始长度:最后附加 64 位的原始长度(24 位),结果为:

0000000000000000000000000000000000000000000000000000000000011000

3.1.5 填充后的总数据长度为 512 位(64 字节):

01100001 01100010 01100011 10000000 00000000 ... 00000000 00000000 00011000

3.2 初始化散列值

SHA-256 使用 8 个 32 位的初始哈希值(常数):

H0 = 6a09e667
H1 = bb67ae85
H2 = 3c6ef372
H3 = a54ff53a
H4 = 510e527f
H5 = 9b05688c
H6 = 1f83d9ab
H7 = 5be0cd19

3.3 处理消息块

将 512 位的数据分成 16 个 32 位的字:

  • W0 = 01100001 01100010 01100011 10000000
  • W1 - W14都为 0,W15 为 00000000 00000000 00000000 00011000

然后将这些字扩展为 64 个字,并依次进行运算。这里会涉及到位操作、模加法和常量使用。

由于计算过程非常复杂且公式较多,下面是一些关键步骤:

3.3.1 主要计算公式:

Σ0(a) = ROTR(2,a) ^ ROTR(13,a) ^ ROTR(22,a)
Σ1(e) = ROTR(6,e) ^ ROTR(11,e) ^ ROTR(25,e)
Ch(e,f,g) = (e & f) ^ (~e & g)
Maj(a,b,c) = (a & b) ^ (a & c) ^ (b & c)

3.3.2 循环计算:

for i in range(64):T1 = h + Σ1(e) + Ch(e,f,g) + K[i] + W[i]T2 = Σ0(a) + Maj(a,b,c)h = gg = ff = ee = d + T1d = cc = bb = aa = T1 + T2

最终,这个块的处理结果会累加到初始哈希值中。

3.4.输出最终哈希值

处理所有块后,将 H0-H7 的值连接起来就是最终的 SHA-256 哈希值。

ba7816bf8f01cfea414140de5dae2223b00361a396177a9cb410ff61f20015ad

4、python实现

import structdef right_rotate(n, b):"""右旋转 n by b bits."""return 
http://www.yayakq.cn/news/897888/

相关文章:

  • 成品网站源码多少钱如何推广游戏
  • 爱尚网站建设常见的网络广告形式
  • 网络营销公司都做什么的seo是什么单位
  • 深圳企业网站模板seo推广分析关键词的第一个步骤
  • 南京html5网站建设建筑工程公司官网
  • 合肥的房产网站建设app的好处与弊端
  • 网站建设分金手指排名十三深圳医疗网站建设公司
  • 李沧网站建设电话怎么在导航网站上做推广
  • wordpress cx-udy网站建设SEO优化
  • 北京市保障性住建设投资中心网站软件开发文档用什么写
  • 重庆快速网站建设平台网站开发和小程序开发区别
  • 如何找到网站管理员汽车网站建设目的
  • 做网站重庆网站和浏览器不兼容
  • 企业做网站注意事项数字展厅制作公司
  • 哈尔滨 做网站wordpress 导出export.php
  • 网站开发软件有哪什么是网络营销服务?网络营销服务有哪些特点?
  • 云南网站设计选哪家工单系统设计
  • 山西省网站制作企业门户网站是什么意思
  • 常州市钟楼建设局网站手机代理ip免费网址
  • 杭州高端网站建设公司哪家好企业网站优化服务主要围绕哪些要素?为什么?
  • vr软件开发前景北京网站优化提供商
  • 做招聘网站做服务器多少钱ftp怎么做网站
  • 高密网站建设价格做网站是什么专业什么工作
  • 安康公司做网站厦门外贸网页设计服务
  • 物流公司做网站注重什么衡水网站建设怎么做
  • 局域网里建设网站深圳电子商务网站 开发
  • 网站建设公司内幕网站服务器修改登录密码
  • 空包网网站怎么做的专业的网站建设费用
  • 网站的建设要多少钱最新型建筑模板有哪些
  • 潘家园网站建设公司十大图片素材网站