字符串sha1加密工具(计算字符串的sha1、sha224、sha256、sha384、sha512散列/哈希值)



工具介绍


本工具可以对字符串进行SHA散列/哈希值计算,其会对输入字符串进行SHA-1SHA-224SHA-256SHA-384SHA-512五种散列/哈希运算,输出结果分别有这5种算法大小写两种形式的10种输出。


SHA,即:安全哈希算法(Secure Hash Algorithm),在MD5算法类似,SHA也是在数字签名领域广泛应用的一种Hash散列算法。SHA算法家族包括:SHA-1SHA-224SHA-256SHA-384SHA-512五种算法。其中SHA-1SHA-224SHA-256可适用于长度不超过2^64的二进制位的消息,SHA-384和SHA-512适用于长度不超过2^128二进制位的消息。


SHA算法家族哈希值大小及输出长度

  • SHA-1算法的哈希值大小为160位,其计算输出长度为40位。
  • SHA-224算法的哈希值大小为224位,其计算输出长度为56位。
  • SHA-256算法的哈希值大小为256位,其计算输出长度为64位。
  • SHA-384算法的哈希值大小为384位,其计算输出长度为96位。
  • SHA-512算法的哈希值大小为384位,其计算输出长度为128位。


SHA1MD5算法比较

SHA1MD5做为两种单向散列算法,二者均由MD4算法延伸导出,它们的强度及相关特性也非常相似。两者的区别主要体现以下几点:

  1. SHA1防碰撞性更好:两者最主要的区别还在于SHA1要比MD5摘要要长 32位。单从强行攻击角度来说,要破结一个MD5哈希摘要报文,其需要操作的数量级为2^128。而对于SHA1哈希摘要报文,其所需的数量级为2^160。从这方面来说,SHA1具有更好的抗强行攻击安全性。
  2. MD5运算速度更快:由于MD5SHA1更短,在相同的硬件上,计算MD5哈希摘要要 比计算SHA1哈希摘要速度更快。
  3. SHA1相对安全:SHA1MD5,而MD5在设计方面也易受密码分析的攻击,理论上讲SHA1的安全性要高于MD5


字符串MD5加密工具一样,本工具同样使用Node.jscrypto模块的Hash进行字符串SHA哈希值(HASH)计算。

本工具主要实现代码如下:

var crypto = require('crypto');

//收到的字符串
var string = req.body.string;
// 创建 SHA1哈希算法
var strHash = crypto.createHash('sha1');
// 更新要计算哈希值的
strHash.update(string);
// 计算哈希值
var sha1 = strHash.digest('hex');
console.log(.);