Module bus.crypto
Package org.miaixz.bus.crypto.center
package org.miaixz.bus.crypto.center
加密解密模块,实现了对JDK中加密解密算法的封装。
1. 对称加密,例如:AES、DES等 2. 非对称加密,例如:RSA、DSA等 3. 摘要加密,例如:MD5、SHA-1、SHA-256、HMAC等
- Since:
- Java 17+
- Author:
- Kimi Liu
-
ClassDescriptionAES加密算法实现 高级加密标准(英语:Advanced Encryption Standard,缩写:AES),在密码学中又称Rijndael加密法 对于Java中AES的默认模式是:AES/ECB/PKCS5Padding,如果使用CryptoJS,请调整为:padding: CryptoJS.pad.Pkcs7Argon2加密实现ASN.1 – Abstract Syntax Notation dot one,抽象记法1 工具类。BCrypt加密算法实现。ChaCha20算法实现 ChaCha系列流密码,作为salsa密码的改良版,具有更强的抵抗密码分析攻击的特性,“20”表示该算法有20轮的加密计算。DES加密算法实现 DES全称为Data Encryption Standard,即数据加密标准,是一种使用密钥加密的块算法 Java中默认实现为:DES/ECB/PKCS5PaddingECIES(集成加密方案,elliptic curve integrate encrypt scheme) 详细介绍见:https://blog.csdn.net/baidu_26954729/article/details/90437344 此算法必须引入Bouncy Castle库FPE(Format Preserving Encryption)实现,支持FF1和FF3-1模式。FPE模式 FPE包括两种模式:FF1和FF3(FF2弃用),核心均为Feistel网络结构。HMAC摘要算法 HMAC,全称为“Hash Message Authentication Code”,中文名“散列消息鉴别码” 主要是利用哈希算法,以一个密钥和一个消息为输入,生成一个消息摘要作为输出。HMAC-based one-time passwords (HOTP) 基于HMAC算法一次性密码生成器, 规范见:RFC 4226MAC摘要算法(此类兼容和JCE的
javax.crypto.Mac对象和BC库的org.bouncycastle.crypto.Mac对象) MAC,全称为“Message Authentication Code”,中文名“消息鉴别码” 主要是利用指定算法,以一个密钥和一个消息为输入,生成一个消息摘要作为输出。MD5算法PBKDF2应用一个伪随机函数以导出密钥,PBKDF2简单而言就是将salted hash进行多次重复计算。RSA公钥/私钥/签名加密解密签名包装,Signature包装类国密SM2非对称算法实现,基于BC库 SM2算法只支持公钥加密,私钥解密 参考:https://blog.csdn.net/pridas/article/details/86118774国密SM3杂凑(摘要)算法国密对称堆成加密算法SM4实现三重数据加密算法(英语:Triple Data Encryption Algorithm,缩写为TDEA,Triple DEA),或称3DES(Triple DES) 使用 168 位的密钥对资料进行三次加密的一种机制;它通常(但非始终)提供极其强大的安全性。TEA(Corrected Block Tiny Encryption Algorithm)算法实现 来自:https://github.com/xxtea/xxtea-javatime-based one-time passwords (TOTP) 基于时间戳算法的一次性密码生成器维吉尼亚密码实现。祖冲之算法集(ZUC算法)实现,基于BouncyCastle实现。