加密、解密和哈希生成工具
生成文本或文件的MD5和MD4哈希值,支持多种输出格式
支持SHA-1、SHA-256、SHA-384、SHA-512算法的在线哈希生成工具
使用AES算法对文本进行安全加密和解密
AES的原始算法,支持灵活的分组大小(128/192/256位)。支持CBC、ECB、CFB、OFB模式
解码、验证和生成JSON Web Tokens,支持多种签名算法
在线HMAC生成工具,支持MD5、SHA-1、SHA-224、SHA-256、SHA-384、SHA-512、SHA3和RIPEMD-160算法
使用RSA非对称加密算法进行公钥加密、私钥解密、数字签名和验签
使用Edwards曲线数字签名算法生成Ed25519密钥对、签名消息和验证签名
使用secp256k1、P-256、P-384、P-521曲线生成ECDSA密钥对、签名消息和验证签名
使用FIPS 186数字签名算法生成DSA密钥对、签名和验证消息(已废弃,FIPS 186-5仅批准验证)
使用DES和3DES算法进行加密解密,支持多种加密模式和填充方式
Bruce Schneier设计的快速对称分组加密算法,支持32-448位可变密钥长度
AES决赛算法,128位分组、128/192/256位密钥的对称密码,由Bruce Schneier设计
可变密钥长度(40-128位)的对称分组密码,广泛用于PGP加密,符合RFC 2144标准
AES决赛算法,支持128/192/256位密钥和32轮加密,提供卓越的安全边际和抗密码分析能力
澳大利亚AES候选算法,128位分组和128/192/256位密钥,16轮Feistel网络结构设计
国际数据加密算法,128位密钥和64位分组,曾广泛用于PGP加密
微型加密算法家族,128位密钥,在游戏开发、IoT设备和嵌入式系统中广泛应用
RC系列流密码和分组密码,包括RC4、RC4-Drop、RC5和RC6(AES决赛算法),支持多种加密模式
现代流密码,支持ChaCha20、ChaCha20-Poly1305 AEAD认证加密和XChaCha20扩展随机数变体
高速流密码,支持Salsa20、Salsa20/12、Salsa20/8和XSalsa20扩展随机数变体
日本/欧洲标准分组密码(ISO/IEC 18033-3),支持128/192/256位密钥和多种加密模式
韩国国家标准分组密码(RFC 4269, ISO 18033-3),采用128位密钥和CBC模式
GOST 28147-89/Magma 俄罗斯分组密码,支持多种加密模式、S-Box选项和多种填充方法
生成BLAKE2b、BLAKE2s和BLAKE3哈希值,支持文本和文件,高速安全的哈希算法
使用Bcrypt、Scrypt、Argon2算法生成和验证安全的密码哈希
使用 PBKDF2 从密码派生安全加密密钥,支持 SHA-256/384/512,符合 OWASP 迭代标准
使用 RFC 5869 HKDF extract-expand 范式派生加密密钥,广泛用于 TLS 1.3 和 Signal 协议
计算CRC-8、CRC-16、CRC-32、CRC-64等多种CRC校验码,支持Modbus、CCITT等协议标准
计算文本和文件的 Adler-32 校验和,广泛用于 zlib/gzip 压缩的快速校验算法
生成 RIPEMD-128/160/256/320 系列哈希值,RIPEMD-160 广泛用于比特币
使用 Whirlpool-0、Whirlpool-T 和 Whirlpool ISO 标准算法生成 512 位哈希值
生成 Snefru-128/256 系列哈希值,由 Ralph Merkle 设计的早期加密哈希函数
生成 HAS-160 哈希值,韩国 KCDSA 数字签名加密标准
极速非加密哈希,支持 xxHash32、xxHash64、xxHash3 和 xxHash128
使用 WebAssembly 加速生成 SHA3-224/256/384/512 和 Keccak 哈希值,以太坊使用
高性能非加密哈希函数,适用于哈希表、布隆过滤器和数据分区
Fowler-Noll-Vo 哈希函数,支持 FNV-1 和 FNV-1a 变体,用于 DNS、哈希表和数据结构
生成 GOST R 34.11-94 和 Streebog(GOST R 34.11-2012)哈希,俄罗斯国家加密标准
中国商用密码标准工具,支持SM2公钥密码、SM3哈希算法、SM4分组密码
密码学是使用数学算法来保护数据不被未授权访问和篡改的实践。该分类涵盖必要的密码学操作,包括对称加密(AES、DES、Blowfish、Twofish)、非对称加密(RSA)、哈希算法(MD5、SHA、BLAKE)、用于身份验证的HMAC和用于安全令牌生成的JWT。这些工具是保护应用程序、API、数据库和数据传输中敏感信息的基础。现代密码学通过加密提供机密性,通过哈希提供完整性,通过数字签名提供真实性。理解何时以及如何使用每种密码学算法对于构建安全系统至关重要。本指南涵盖算法选择、密钥管理最佳实践、安全考虑因素和常见陷阱的避免。
高级加密标准(AES)是行业标准的对称加密算法,被政府机构和企业广泛使用。支持128、192和256位密钥大小,AES-256为高度敏感数据提供抗量子计算的安全性。
RSA是公钥密码系统,支持在没有事先密钥交换的情况下进行安全通信。对于HTTPS、数字签名和非对称加密场景至关重要。
SHA(安全哈希算法)系列为数据完整性验证、密码存储和数字签名提供密码学哈希函数。SHA-256和SHA-3是新应用的推荐选择。
| 算法类型 | 描述和用途 |
|---|---|
| 对称加密(AES、DES、Blowfish) | 使用单一共享密钥进行加密和解密。对大数据量处理快速高效。示例:AES-256、DES(已弃用)、Blowfish。最佳用途:数据库加密、文件加密、本地数据保护。缺点:密钥分发困难。 |
| 非对称加密(RSA) | 使用公钥加密,私钥解密。无需事先共享密钥即可启用安全通信。最佳用途:HTTPS、数字签名、密钥交换。缺点:比对称加密慢,仅适用于小数据。 |
| 哈希(MD5、SHA、BLAKE) | 单向函数生成数据的固定大小指纹。无法反转回原始数据。用于完整性验证和密码存储。示例:SHA-256、SHA-3、BLAKE2。避免:MD5(碰撞漏洞)。 |
| HMAC(基于哈希的消息认证码) | 将哈希与秘密密钥结合,验证完整性和真实性。对于API身份验证和消息验证至关重要。支持任何哈希算法(HMAC-SHA256、HMAC-SHA512)。 |
| JWT(JSON Web令牌) | 用于无状态身份验证和信息交换的紧凑、URL安全令牌格式。包含头部、负载和签名。使用RS256/ES256进行非对称签名,仅对受信任方使用HS256。 |
| SM密码学(中国标准) | 中国国家密码学标准,包括SM2(非对称)、SM3(哈希)、SM4(对称)。用于符合中国标准的系统。SM2提供与RSA-2048相当的安全性,密钥为256位。 |
对称加密使用AES-256,非对称加密使用RSA-2048+或ECC,哈希使用SHA-256+或SHA-3。避免已弃用的算法:MD5(碰撞)、SHA-1(弱点)、DES(56位密钥)、RC4。检查NIST建议以符合合规要求。
使用密码学安全的随机生成器生成密钥。安全存储密钥(硬件安全模块、密钥保管库、不要硬编码)。定期轮换密钥(推荐年度)。为不同目的使用不同密钥。不要在错误消息中记录或暴露密钥。
对敏感数据,使用AES-GCM(伽罗瓦/计数器模式)提供加密和认证。不要使用ECB模式(加密相同的明文块会产生相同的密文块)。避免未经认证的加密后跟单独的HMAC(使用AEAD模式代替)。
永远不要存储明文密码。使用bcrypt、scrypt或Argon2进行密码哈希(不是简单的SHA)。为每个密码添加唯一盐值。使用工作因子防止暴力攻击。在失败尝试后实施账户锁定。
使用密码学安全RNG(java.security.SecureRandom、Unix上的/dev/urandom、Windows上的CryptGenRandom)。正确种植RNG。避免Math.random()和可预测的种子。为密钥大小生成足够的熵。
接受令牌前始终验证JWT签名。检查过期时间戳。验证发行者(iss)和受众(aud)声明。使用短过期时间(15-60分钟)。实施刷新令牌机制。不要信任'alg: none'令牌。