All Classes and Interfaces

Class
Description
抽象的非对称加密对象,包装了加密和解密为Hex和Base64的封装
AES加密算法实现 高级加密标准(英语:Advanced Encryption Standard,缩写:AES),在密码学中又称Rijndael加密法 对于Java中AES的默认模式是:AES/ECB/PKCS5Padding,如果使用CryptoJS,请调整为:padding: CryptoJS.pad.Pkcs7 相关概念说明:
高级加密标准,是下一代的加密算法标准,速度快,安全级别高; AES是一个使用128为分组块的分组加密算法,分组块和128、192或256位的密钥一起作为输入, 对4×4的字节数组上进行操作 众所周之AES是种十分高效的算法,尤其在8位架构中,这源于它面向字节的设计 AES 适用于8位的小型单片机或者普通的32位微处理器,并且适合用专门的硬件实现,硬件实现能够使其吞吐量(每秒可以到达的加密/解密bit数) 达到十亿量级
非对称基础,提供锁、私钥和公钥的持有
BouncyCastle的HMAC算法实现引擎,使用Mac 实现摘要 当引入BouncyCastle库时自动使用其作为Provider
BouncyCastle的MAC算法实现引擎,使用Mac 实现摘要 当引入BouncyCastle库时自动使用其作为Provider
BCrypt加密算法实现 由它加密的文件可在所有支持的操作系统和处理器上进行转移 它的口令必须是8至56个字符,并将在内部被转化为448位的密钥
加密解密模块,实现了对JDK中加密解密算法的封装 安全相关工具/密钥工具类 加密分为三种: 1、对称加密(symmetric),例如:AES、DES等 2、非对称加密(asymmetric),例如:RSA、DSA等 3、摘要加密(digest),例如:MD5、SHA-1、SHA-256、HMAC等
CBCBlockCipherMac实现的MAC算法,使用CBC Block方式
ChaCha20算法实现 ChaCha系列流密码,作为salsa密码的改良版,具有更强的抵抗密码分析攻击的特性,“20”表示该算法有20轮的加密计算
Cipher包装类,提供初始化模式等额外方法 包装之后可提供自定义或默认的: AlgorithmParameterSpec SecureRandom
非对称加密算法
对称加密算法 在对称加密算法中,数据发信方将明文(原始数据)和加密密钥一起经过特殊加密算法处理后,使其变成复杂的加密密文发送出去。 收信方收到密文后,若想解读原文,则需要使用加密用过的密钥及相同算法的逆算法对密文进行解密,才能使其恢复成可读明文。 在对称加密算法中,使用的密钥只有一个,发收信双方都使用这个密钥对数据进行加密和解密,这就要求解密方事先必须知道加密密钥。
非对称解密器接口,提供: 从bytes解密 从Hex(16进制)解密 从Base64解密
对称解密器接口,提供: 从bytes解密 从Hex(16进制)解密 从Base64解密
默认的HMAC算法实现引擎,使用Mac 实现摘要 当引入BouncyCastle库时自动使用其作为Provider
DES加密算法实现 DES全称为Data Encryption Standard,即数据加密标准,是一种使用密钥加密的块算法 Java中默认实现为:DES/CBC/PKCS5Padding
DESede是由DES对称加密算法改进后的一种对称加密算法,又名3DES、TripleDES 使用 168 位的密钥对资料进行三次加密的一种机制;它通常(但非始终)提供极其强大的安全性 如果三个 56 位的子元素都相同,则三重 DES 向后兼容 DES Java中默认实现为:DESede/ECB/PKCS5Padding
数据加密标准,速度较快,适用于加密大量数据的场合
摘要算法 注意:此对象实例化后为非线程安全!
ECIES(集成加密方案,elliptic curve integrate encrypt scheme) 详细介绍见:https://blog.csdn.net/baidu_26954729/article/details/90437344 此算法必须引入Bouncy Castle库
非对称加密器接口,提供: 加密为bytes 加密为Hex(16进制) 加密为Base64
对称加密器接口,提供: 加密为bytes 加密为Hex(16进制) 加密为Base64
FPE(Format Preserving Encryption)实现,支持FF1和FF3-1模式 相关介绍见:https://anquan.baidu.com/article/193
FPE模式 FPE包括两种模式:FF1和FF3(FF2弃用),核心均为Feistel网络结构
HMAC摘要算法 HMAC,全称为“Hash Message Authentication Code”,中文名“散列消息鉴别码” 主要是利用哈希算法,以一个密钥和一个消息为输入,生成一个消息摘要作为输出 一般的,消息鉴别码用于验证传输于两个共 同享有一个密钥的单位之间的消息 HMAC 可以与任何迭代散列函数捆绑使用MD5 和 SHA-1 就是这种散列函数HMAC 还可以使用一个用于计算和确认消息鉴别值的密钥 注意:此对象实例化后为非线程安全!
全局单例的 org.bouncycastle.jce.provider.BouncyCastleProvider 对象
HMAC-based one-time passwords (HOTP) 基于HMAC算法一次性密码生成器, 规范见:RFC 4226
密钥类型
MAC摘要算法(此类兼容和JCE的 javax.crypto.Mac对象和BC库的org.bouncycastle.crypto.Mac对象) MAC,全称为“Message Authentication Code”,中文名“消息鉴别码” 主要是利用指定算法,以一个密钥和一个消息为输入,生 成一个消息摘要作为输出一般的,消息鉴别码用于验证传输于两个共同享有一个密钥的单位之间的消息 注意:此对象实例化后为非线程安全!
MAC(Message Authentication Code)算法引擎
MacEngine 实现工厂类
MD5算法
模式 加密算法模式,是用来描述加密算法(此处特指分组密码,不包括流密码,) 在加密时对明文分组的模式,它代表了不同的分组方式
Cipher模式的枚举封装
补码方式 补码方式是在分组密码中,当明文长度不是分组长度的整数倍时, 需要在最后一个分组中填充一些数据使其凑满一个分组的长度。
PBKDF2应用一个伪随机函数以导出密钥,PBKDF2简单而言就是将salted hash进行多次重复计算。 参考:https://blog.csdn.net/huoji555/article/details/83659687
 
RC4加密解密算法实现 注意:由于安全问题,已经基本不在HTTPS中使用了 来自:https://github.com/xSAVIKx/RC4-cipher/blob/master/src/main/java/com/github/xsavikx/rc4/RC4.java
高级加密标准,是下一代的加密算法标准,速度快,安全级别高; AES是一个使用128为分组块的分组加密算法,分组块和128、192或256位的密钥一起作为输入, 对4×4的字节数组上进行操作 众所周之AES是种十分高效的算法,尤其在8位架构中,这源于它面向字节的设计 AES 适用于8位的小型单片机或者普通的32位微处理器,并且适合用专门的硬件实现,硬件实现能够使其吞吐量(每秒可以到达的加密/解密bit数) 达到十亿量级
系统中内置的策略映射 注解和实现之间映射
RSA公钥/私钥/签名加密解密
RSA 加密解密算法
签名包装,Signature 包装类
国密算法-SM2 非对称加密和签名:SM2 摘要签名算法:SM3 对称加密:SM4
RSA 加密解密算法
国密算法-SM3 非对称加密和签名:SM2 摘要签名算法:SM3 对称加密:SM4
SM4算法的MAC引擎实现
国密对称堆成加密算法SM4实现 国密算法包括: 非对称加密和签名:SM2 摘要签名算法:SM3 对称加密:SM4
高级加密标准,是下一代的加密算法标准,速度快,安全级别高; AES是一个使用128为分组块的分组加密算法,分组块和128、192或256位的密钥一起作为输入, 对4×4的字节数组上进行操作 众所周之AES是种十分高效的算法,尤其在8位架构中,这源于它面向字节的设计 AES 适用于8位的小型单片机或者普通的32位微处理器,并且适合用专门的硬件实现,硬件实现能够使其吞吐量(每秒可以到达的加密/解密bit数) 达到十亿量级
time-based one-time passwords (TOTP) 基于时间戳算法的一次性密码生成器, 规范见:RFC 6238
维吉尼亚密码实现 人们在恺撒移位密码的基础上扩展出多表密码,称为维吉尼亚密码 算法实现来自:https://github.com/zhaorenjie110/SymmetricEncryptionAndDecryption
祖冲之算法集(ZUC算法)实现,基于BouncyCastle实现。
ZUC类型,包括128位和256位