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

专业的公司网站制作服务广州网站开发费用

专业的公司网站制作服务,广州网站开发费用,廊坊网站搜索优化,网站里的动画效果SHA-1(Secure Hash Algorithm 1)是一种密码学哈希函数,用于将任意长度的输入数据(消息)转换成一个固定长度的输出(哈希值或摘要),长度为160位(20字节)。SHA-1的主要用途包括数据完整性验证、数字签名、密码存储等。 1、SHA-1 的特性 定长输出:无论输入数据长度是多…SHA-1(Secure Hash Algorithm 1)是一种密码学哈希函数,用于将任意长度的输入数据(消息)转换成一个固定长度的输出(哈希值或摘要),长度为160位(20字节)。SHA-1的主要用途包括数据完整性验证、数字签名、密码存储等。 1、SHA-1 的特性 定长输出:无论输入数据长度是多少,SHA-1都会产生160位的固定长度哈希值。单向性:SHA-1函数是不可逆的,无法通过哈希值推导出原始输入数据。碰撞抵抗:理想情况下,找到两个不同的输入具有相同的哈希值的概率应该非常低。然而,SHA-1已经被发现存在碰撞漏洞,因此在现代应用中逐渐被更安全的算法(如SHA-256)取代。2、SHA-1 工作原理概述 SHA-1 算法的核心步骤包括: 消息填充:将消息长度填充到一个满足某种条件(例如512位块)的长度。填充方式通常是先在消息末尾添加一个 1,然后再添加若干个 0,直到消息长度为接近但不超过512的整数倍。最后,消息长度信息也会被附加到填充后的消息中。 初始化散列值:SHA-1 使用五个初始散列值 H0、H1、H2、H3 和 H4,这些值都是常量。 处理每个数据块:消息分块后,每个块都经过一系列的操作(如扩展、位运算、混合等),并更新中间哈希值。 输出最终哈希值:经过所有块的处理后,五个散列值被连接在一起,形成最终的160位哈希值。 3、示例数据 以字符串 “abc” 为例,通过 SHA-1 算法计算其哈希值。 3.1 步骤 1: 消息填充 原始消息 “abc” 转换为 ASCII 编码:01100001 01100010 01100011。 3.1.1 原始消息长度 消息的二进制长度为 3 * 8 = 24 位。 3.1.2. 填充“1”: 在消息末尾添加一个 1,得到:01100001 01100010 01100011 1。 添加1的目的是作为字节结束标志位 3.1.3. 填充“0”: 在SHA-1算法的填充步骤中,最终会在填充后的消息末尾附加一个64位的字段,这个字段记录的是原始消息的比特长度。 在“1”位之后,填充若干个“0”位,直到消息的长度达到448位。这一步的目的是确保最终消息长度为512的倍数。 填充后的消息长度为448位(448 = 512 - 64,因为最后要附加64位的消息长度字段)。因此,填充的内容将是: 01100001 01100010 01100011 10000000 00000000...(后续填充到448位)这段消息长度为448位,其中包含了原始消息、一个“1”位以及多个“0”位。 注: 附加消息长度:在填充后的消息末尾,附加一个64位的字段,这个字段表示原始消息的比特长度。在这个例子中,原始消息长度是24位(二进制为00000000 00000000 00000000 00000000 00000000 00000000 00000000 00011000,注意它是64位的)。 因此,最后的消息变为: 01100001 01100010 01100011 10000000 00000000...(后续填充到448位)...00000000 00000000 00000000 00011000最终,整个消息的长度是 512位,它由**填充后的消息(448位)和原始消息长度(64位)**组成。 为什么附加64位的消息长度 附加的64位字段用于存储原始消息的比特长度,目的是确保不同长度的消息,即使内容相同,经过SHA-1处理后也会得到不同的哈希值。这是为了避免哈希碰撞并确保消息的完整性。 3.2 步骤 2: 初始化哈希值 使用SHA-1算法的初始哈希值: H0 = 0x67452301 H1 = 0xEFCDAB89 H2 = 0x98BADCFE H3 = 0x10325476 H4 = 0xC3D2E1F03.3 步骤 3: 处理512位数据块 对512位的消息块进行处理: 3.3.1 消息分组:将512位的消息分成16组,每组32位。 W[0] = 01100001 01100010 01100011 10000000 W[1] = 00000000 00000000 00000000 00000000 W[2] = 00000000 00000000 00000000 00000000 ... W[14] = 00000000 00000000 00000000 00000000 W[15] = 00000000 00000000 00000000 00011000 3.3.2. 消息扩展:扩展到80个32位字。 通过以下公式将消息扩展到 80 个 32 位字: W[i] = (W[i-3] XOR W[i-8] XOR W[i-14] XOR W[i-16]) 左旋转 1需要根据上面的公式计算出 W[16] 到 W[79]。 消息扩展的理解 消息扩展是SHA-1算法中将初始消息块从16个32位字(总共512位)扩展到80个32位字(总共2560位)的过程。这一步是为了增加消息的复杂性,确保生成的哈希值更难以预测,从而提高加密的安全性。 消息扩展的步骤 假设我们有一个512位的消息块,将其分成16个32位字,标记为 W[0] 到 W[15]。这些是初始的16个字。接下来,通过以下的递推公式生成 W[16] 到 W[79]。 递推公式: 对于 i 从16到79(扩展的64个32位字),使用以下公式来计算: W[i] = (W[i-3] XOR W[i-8] XOR W[i-14] XOR W[i-16]
http://www.w-s-a.com/news/788922/

相关文章:

  • 网站2级页面怎么做杭州哪家做外贸网站
  • 做了静态网站怎么显示在互联网上营销策划与运营方案
  • 常见的英文网站国内军事新闻大事件
  • 傻瓜式做网站程序微信怎么开公众号
  • c2c电商网站wordpress仿36kr主题
  • 网站建设公司开发免费图纸网站
  • 一个网站页面设计多少钱做预算查价格的网站是哪个
  • 鳌江哪里有做网站百度短链接在线生成
  • 有没有什么做水利资料的网站杭州建设信用平台
  • 电子商务网站建设及推广方案论文wordpress无法显示文章
  • 建设工程监理网站前端和后端分别需要学什么
  • 公司网站制作效果国内最好的在线网站建设
  • 徐州好点的做网站的公司有哪些wordpress 工具插件下载
  • 如何用云服务器建设网站微网站免费开发平台
  • 官网的网站设计公司做网站需要准备哪些东西
  • 程序员和做网站那个好找工作wordpress二维码 插件
  • 湖南城市建设技术学院官方网站青海省建设局网站
  • 响应式网站有什么区别百度网站官网
  • 金华企业自助建站系统长沙建站公司模板
  • 云主机 做网站友情链接网站
  • 定制型网站设计天津网站模板建站
  • 为什么公司网站打开很慢wordpress汉化插件
  • 用dw做教学网站做网站用什么配置笔记本
  • 秦皇岛网站制作服务无网站无产品链接如何做SOHO
  • 国际婚恋网站做翻译合法吗南宁网络推广有限公司
  • 济南做网站公司排名销售市场规划方案
  • 营销型网站定制珠海建站网站
  • 企业网站代码wordpress页面重定向循环
  • 厦门网站建设哪家便宜用wordpress做企业网站
  • 网站备案有幕布python 做网站速度