寻求支持MD5、SHA-256、Whirlpool的哈希算法模块方案
支持MD5、SHA-256和Whirlpool的哈希算法库推荐
Node.js 环境
- 原生
crypto模块:仅支持MD5和SHA-256,不支持Whirlpool。如果需要覆盖三种算法,推荐第三方库crypto-js,它集成了所有目标算法。
示例代码:const CryptoJS = require('crypto-js'); // 计算MD5哈希 const md5Hash = CryptoJS.MD5('your-input-string').toString(); // 计算SHA-256哈希 const sha256Hash = CryptoJS.SHA256('your-input-string').toString(); // 计算Whirlpool哈希 const whirlpoolHash = CryptoJS.Whirlpool('your-input-string').toString();
其他编程语言推荐
Python
使用pycryptodome库,它完整支持三种算法:
from Crypto.Hash import MD5, SHA256, Whirlpool input_bytes = b'your-input-string' # MD5哈希 md5_hash = MD5.new(input_bytes).hexdigest() # SHA-256哈希 sha256_hash = SHA256.new(input_bytes).hexdigest() # Whirlpool哈希 whirlpool_hash = Whirlpool.new(input_bytes).hexdigest()
Java
借助BouncyCastle库实现全算法支持:
import org.bouncycastle.crypto.digests.MD5Digest; import org.bouncycastle.crypto.digests.SHA256Digest; import org.bouncycastle.crypto.digests.WhirlpoolDigest; import org.bouncycastle.util.encoders.Hex; public class HashDemo { public static void main(String[] args) { byte[] input = "your-input-string".getBytes(); // MD5计算 MD5Digest md5Digest = new MD5Digest(); md5Digest.update(input, 0, input.length); byte[] md5Result = new byte[md5Digest.getDigestSize()]; md5Digest.doFinal(md5Result, 0); String md5Hex = Hex.toHexString(md5Result); // SHA-256计算 SHA256Digest sha256Digest = new SHA256Digest(); sha256Digest.update(input, 0, input.length); byte[] sha256Result = new byte[sha256Digest.getDigestSize()]; sha256Digest.doFinal(sha256Result, 0); String sha256Hex = Hex.toHexString(sha256Result); // Whirlpool计算 WhirlpoolDigest whirlpoolDigest = new WhirlpoolDigest(); whirlpoolDigest.update(input, 0, input.length); byte[] whirlpoolResult = new byte[whirlpoolDigest.getDigestSize()]; whirlpoolDigest.doFinal(whirlpoolResult, 0); String whirlpoolHex = Hex.toHexString(whirlpoolResult); } }
PHP
PHP原生hash函数直接支持三种算法,无需额外安装扩展:
// MD5哈希 $md5Hash = hash('md5', 'your-input-string'); // SHA-256哈希 $sha256Hash = hash('sha256', 'your-input-string'); // Whirlpool哈希 $whirlpoolHash = hash('whirlpool', 'your-input-string');
内容的提问来源于stack exchange,提问作者soft1234
相关产品推荐
相关产品推荐

