Code前端首页关于Code前端联系我们

PHP sha1:快速加密消息摘要算法

terry 2年前 (2023-09-29) 阅读数 49 #PHP
文章标签 PHP

在计算机科学中,消息摘要是将任意大小的数据映射到固定大小的数据的过程。输出结果通常称为消息摘要、哈希值或散列值。

消息概述的常用算法是 SHA-1 算法。它是一种快速加密消息处理算法,用于为任意长度的数据生成 160 位哈希值。与MD5等其他哈希算法相比,SHA-1算法提供了更高的安全性。

1。 SHA-1算法的实现

SHA-1算法的原理是在消息末尾填充几个字节,使其长度等于512的整数倍,将消息分成若干个512位的块,并对每个块进行处理转了一圈。结果称为消息摘要。

SHA-1 算法需要某些必须提前定义的常量:

define('SHA_ROTATE_5',5);
define('SHA_ROTATE_30',30);
define('SHA_ROTATE_80',80);
define('SHABlocksize',512);

function sha1($data){
    $data      = (string) $data ;
    $bit       = strlen($data) * 8;
    $data      = $data . chr(0x80) . str_repeat(chr(0),((588 - $bit) % 512 - 8) / 8) . pack('N2',0,$bit);
    $mid_res   = array();
    $a         = 0x67452301;
    $b         = 0xefcdab89;
    $c         = 0x98badcfe;
    $d         = 0x10325476;
    $e         = 0xc3d2e1f0;
    $chunk_num = ceil(strlen($data) / SHABlocksize);

    for ($i = 0; $i 

版权声明

本文仅代表作者观点,不代表Code前端网立场。
本文系作者Code前端网发表,如需转载,请注明页面地址。

热门