EncryptionUtils
说明
加密工具类,这里收集了一些常用的加密方法,包括AES,DES,3DES,MD5,RSA,SHA1,SHA256,SHA384,SHA512。
使用
依赖
compile 'com.wuyifeng:EncryptionUtils:1.0.1'
使用说明
以下所有方法都为静态方法。
AESUtils
方法名 | 说明 |
---|---|
byte[] encrypt2Base64(final byte[] data, final byte[] key) | AES加密后转为Base64编码 @param data 明文 @param key 16、24、32字节秘钥 @return Base64密文 |
String encrypt2HexString(final byte[] data, final byte[] key) | AES加密后转为16进制 @param data 明文 @param key 16、24、32字节秘钥 @return 16进制密文 |
byte[] encrypt(final byte[] data, final byte[] key | AES加密 @param data 明文 @param key 16、24、32字节秘钥 @return 密文 |
byte[] decryptBase64(final byte[] data, final byte[] key) | AES解密Base64编码密文 @param data Base64编码密文 @param key 16、24、32字节秘钥 @return 明文 |
byte[] decryptHexString(final String data, final byte[] key) | AES解密16进制密文 @param data 16进制密文 @param key 16、24、32字节秘钥 @return 明文 |
byte[] decrypt(final byte[] data, final byte[] key) | AES解密 @param data 密文 @param key 16、24、32字节秘钥 @return 明文 |
DES3Utils
方法名 | 说明 |
---|---|
byte[] encrypt2Base64(final byte[] data, final byte[] key) | 3DES加密后转为Base64编码 @param data 明文 @param key 24字节秘钥 @return Base64密文 |
String encrypt2HexString(final byte[] data, final byte[] key) | 3DES加密后转为16进制 @param data 明文 @param key 24字节秘钥 @return 16进制密文 |
byte[] encrypt(final byte[] data, final byte[] key) | 3DES加密 @param data 明文 @param key 24字节密钥 @return 密文 |
byte[] decryptBase64(final byte[] data, final byte[] key) | 3DES解密Base64编码密文 @param data Base64编码密文 @param key 24字节秘钥 @return 明文 |
byte[] decryptHexString(final String data, final byte[] key) | 3DES解密16进制密文 @param data 16进制密文 @param key 24字节秘钥 @return 明文 |
byte[] decrypt(final byte[] data, final byte[] key) | 3DES解密 @param data 密文 @param key 24字节密钥 @return 明文 |
DESUtils
方法名 | 说明 |
---|---|
byte[] encrypt2Base64(final byte[] data, final byte[] key) | DES加密后转为Base64编码 @param data 明文 @param key 8字节秘钥 @return Base64密文 |
String encrypt2HexString(final byte[] data, final byte[] key) | DES加密后转为16进制 @param data 明文 @param key 8字节秘钥 @return 16进制密文 |
byte[] encrypt(final byte[] data, final byte[] key) | DES加密 @param data 明文 @param key 8字节密钥 @return 密文 |
byte[] decryptBase64(final byte[] data, final byte[] key) | DES解密Base64编码密文 @param data Base64编码密文 @param key 8字节秘钥 @return 明文 |
byte[] decryptHexString(final String data, final byte[] key) | DES解密16进制密文 @param data 16进制密文 @param key 8字节秘钥 @return 明文 |
byte[] decrypt(final byte[] data, final byte[] key) | DES解密 @param data 密文 @param key 8字节密钥 @return 明文 |
MD5Utils
方法名 | 说明 |
---|---|
String encrypt2String(final String data, final String salt) | MD5加密 @param data 明文字符串 @param salt 盐 @return 16进制加盐密文 |
String encrypt2String(final byte[] data) | MD5加密 @param data 明文字节数组 @return 16进制密文 |
String encrypt2String(final byte[] data, final byte[] salt) | MD5加密 @param data 明文字节数组 @param salt 盐字节数组 @return 16进制加盐密文 |
byte[] encrypt(final byte[] data) | MD5加密 @param data 明文字节数组 @return 密文字节数组 |
String encryptFile2String(final String filePath) | MD5加密文件 @param filePath 文件路径 @return 文件的16进制密文 |
byte[] encryptFile(final String filePath) | MD5加密文件 @param filePath 文件路径 @return 文件的MD5校验码 |
String encryptFile2String(final File file) | MD5加密文件 @param file 文件 @return 文件的16进制密文 |
byte[] encryptFile(final File file) | MD5加密文件 @param file 文件 @return 文件的MD5校验码 |
String encryptHmac2String(final String data, final String key) | HmacMD5加密 @param data 明文字符串 @param key 秘钥 @return 16进制密文 |
String encryptHmac2String(final byte[] data, final byte[] key) | HmacMD5加密 @param data 明文字节数组 @param key 秘钥 @return 16进制密文 |
byte[] encryptHmac(final byte[] data, final byte[] key) | HmacMD5加密 @param data 明文字节数组 @param key 秘钥 @return 密文字节数组 |
RSAUtils
方法名 | 说明 |
---|---|
密钥 | |
KeyPair generateRSAKeyPair(int keyLength) | 随机生成RSA密钥对 @param keyLength 密钥长度,范围:512~2048 一般1024 @return 密钥对 |
PrivateKey getPrivateKey(String privateKey) | 获取私钥 @param privateKey 私钥字符串 @return 私钥 |
PrivateKey getPrivateKey(byte[] privateKey) | 获取私钥 @param privateKey 私钥数据 @return 私钥 |
PublicKey getPublicKey(String publicKey) | 获取公钥 @param publicKey 公钥字符串 @return 公钥 |
PublicKey getPublicKey(byte[] publicKey) | 获取公钥 @param publicKey 公钥数据 @return 公钥 |
私钥解密 | |
String decryptBase64ToStringFromNetByPrivateKey(String privateKey, String encrypted) | 解密RSA公钥加密过符合网络安全的base64数据(将"+"替换成"-","/"替换成"_","="替换成"") @param privateKey 私钥字符串 @param encrypted 加密的数据 @return 解密后的字符串 |
String decryptBase64ToStringFromNetByPrivateKey(PrivateKey privateKey, String encrypted) | 解密RSA公钥加密过符合网络安全的base64数据(将"+"替换成"-","/"替换成"_","="替换成"") @param privateKey 私钥 @param encrypted 加密的数据 @return 解密后的字符串 |
byte[] decryptBase64FromNetByPrivateKey(String privateKey, String encrypted) | 解密RSA公钥加密过符合网络安全的base64数据(将"+"替换成"-","/"替换成"_","="替换成"") @param privateKey 私钥 @param encrypted 加密的数据 @return 解密后的数据 |
byte[] decryptBase64FromNetByPrivateKey(PrivateKey privateKey, String encrypted) | 解密RSA公钥加密过符合网络安全的base64数据(将"+"替换成"-","/"替换成"_","="替换成"") @param privateKey 私钥 @param encrypted 加密的数据 @return 解密后的数据 |
String decryptBase64ToStringByPrivateKey(String privateKey, String encrypted) | 解密RSA公钥加密过的base64数据 @param privateKey 私钥字符串 @param encrypted 加密的字符串 @return 解密后的字符串 |
String decryptBase64ToStringByPrivateKey(PrivateKey privateKey, String encrypted) | 解密RSA公钥加密过的base64数据 @param privateKey 私钥 @param encrypted 加密的字符串 @return 解密后的字符串 |
byte[] decryptBase64ByPrivateKey(String privateKey, String encrypted) | 解密RSA公钥加密过的base64数据 @param privateKey 私钥 @param encrypted 加密的字符串 @return 解密后的数据 |
byte[] decryptBase64ByPrivateKey(PrivateKey privateKey, String encrypted) | 解密RSA公钥加密过的base64数据 @param privateKey 私钥 @param encrypted 加密的字符串 @return 解密后的数据 @throws Exception 异常 |
String decryptHex2StringByPrivateKey(String privateKey, String encrypted) | 解密RSA公钥加密过的16进制数据 @param privateKey 私钥 @param encrypted 加密的字符串 @return 解密后的字符串 |
String decryptHex2StringByPrivateKey(PrivateKey privateKey, String encrypted) | 解密RSA公钥加密过的16进制数据 @param privateKey 私钥 @param encrypted 加密的字符串 @return 解密后的字符串 |
byte[] decryptHexByPrivateKey(String privateKey, String encrypted) | 解密RSA公钥加密过的16进制数据 @param privateKey 私钥 @param encrypted 加密的字符串 @return 解密后的数据 |
byte[] decryptHexByPrivateKey(PrivateKey privateKey, String encrypted) | 解密RSA公钥加密过的16进制数据 @param privateKey 私钥 @param encrypted 加密的字符串 @return 解密后的数据 |
String decrypt2StringByPrivateKey(String privateKey, byte[] encryptedData) | 解密RSA公钥加密过的数据 @param privateKey 私钥字符串 @param encryptedData 加密的数据 @return 解密后的字符串 |
String decrypt2StringByPrivateKey(PrivateKey privateKey, byte[] encryptedData) | 解密RSA公钥加密过的字符串 @param privateKey 私钥字符串 @param encryptedData 加密的数据 @return 解密后的数据 |
byte[] decryptByPrivateKey(String privateKey, byte[] encryptedData) | 解密RSA公钥加密过的数据 @param privateKey 私钥字符串 @param encryptedData 加密的数据 @return 解密后的数据 |
byte[] decryptByPrivateKey(PrivateKey privateKey, byte[] encryptedData) | 解密RSA公钥加密过的数据 @param privateKey 私钥 @param encryptedData 加密的数据 @return 解密后的数据 |
公钥解密 | |
String decryptBase64ToStringFromNetByPublicKey(String publicKey, String encryptedData) | 解密RSA私钥加密过符合网络安全的base64数据(将"+"替换成"-","/"替换成"_","="替换成"") @param publicKey 公钥字符串 @param encryptedData 加密的字符串 @return 解密的字符串 |
String decryptBase64ToStringFromNetByPublicKey(PublicKey publicKey, String encryptedData) | 解密RSA私钥加密过符合网络安全的base64数据(将"+"替换成"-","/"替换成"_","="替换成"") @param publicKey 公钥 @param encryptedData 加密的字符串 @return 解密的字符串 |
byte[] decryptBase64FromNetByPublicKey(String publicKey, String encryptedData) | 解密RSA私钥加密过符合网络安全的base64数据(将"+"替换成"-","/"替换成"_","="替换成"") @param publicKey 公钥 @param encryptedData 加密的字符串 @return 解密的数据 |
byte[] decryptBase64FromNetByPublicKey(PublicKey publicKey, String encryptedData) | 解密RSA私钥加密过符合网络安全的base64数据(将"+"替换成"-","/"替换成"_","="替换成"") @param publicKey 公钥 @param encryptedData 加密的字符串 @return 解密的数据 |
String decryptBase64ToStringByPublicKey(String publicKey, String encryptedData) | 解密RSA私钥加密过的base64数据 @param publicKey 公钥字符串 @param encryptedData 加密的字符串 @return 解密的字符串 |
String decryptBase64ToStringByPublicKey(PublicKey publicKey, String encryptedData) | 解密RSA私钥加密过的base64数据 @param publicKey 公钥 @param encryptedData 加密的字符串 @return 解密的字符串 |
byte[] decryptBase64ByPublicKey(String publicKey, String encryptedData) | 解密RSA私钥加密过的base64数据 @param publicKey 公钥 @param encryptedData 加密的字符串 @return 解密的数据 |
byte[] decryptBase64ByPublicKey(PublicKey publicKey, String encryptedData) | 解密RSA私钥加密过的base64数据 @param publicKey 公钥 @param encryptedData 加密的字符串 @return 解密的数据 |
String decryptHex2StringByPublicKey(String publicKey, String encryptedData) | 解密RSA私钥加密过的16进制数据 @param publicKey 公钥 @param encryptedData 加密的字符串 @return 解密的字符串 |
String decryptHex2StringByPublicKey(PublicKey publicKey, String encryptedData) | 解密RSA私钥加密过的16进制数据 @param publicKey 公钥 @param encryptedData 加密的字符串 @return 解密的字符串 |
byte[] decryptHexByPublicKey(String publicKey, String encryptedData) | 解密RSA私钥加密过的16进制数据 @param publicKey 公钥 @param encryptedData 加密的字符串 @return 解密的数据 |
byte[] decryptHexByPublicKey(PublicKey publicKey, String encryptedData) | 解密RSA私钥加密过的16进制数据 @param publicKey 公钥 @param encryptedData 加密的字符串 @return 解密的数据 |
String decrypt2StringByPublicKey(String publicKey, byte[] encryptedData) | 解密RSA私钥加密过的数据 @param publicKey 公钥字符串 @param encryptedData 加密的数据 @return 解密的字符串 |
String decrypt2StringByPublicKey(PublicKey publicKey, byte[] encryptedData) | 解密RSA私钥加密过的数据 @param publicKey 公钥字符串 @param encryptedData 加密的数据 @return 解密的字符串 |
byte[] decryptByPublicKey(String publicKey, byte[] encryptedData) | 解密RSA私钥加密过的数据 @param publicKey 公钥字符串 @param encryptedData 加密的数据 @return 解密的数据 |
byte[] decryptByPublicKey(PublicKey publicKey, byte[] encryptedData) | 解密RSA私钥加密过的数据 @param publicKey 公钥 @param encryptedData 加密的数据 @return 解密的数据 |
私钥加密 | |
String encryptBase64ToNetByPrivateKey(String privateKey, String data) | 私钥加密成符合网络安全的字符串(将"+"替换成"-","/"替换成"_","="替换成"" @param privateKey 私钥字符串 @param data 数据 @return 加密后符合网络安全的base64数据 |
String encryptBase64ToNetByPrivateKey(PrivateKey privateKey, String data) | 私钥加密成符合网络安全的字符串(将"+"替换成"-","/"替换成"_","="替换成"") @param privateKey @param data 数据 @return 加密后符合网络安全的base64数据 |
String encryptBase64ToNetByPrivateKey(String privateKey, byte[] data) | 私钥加密成符合网络安全的字符串(将"+"替换成"-","/"替换成"_","="替换成"") @param privateKey @param data 数据 @return 加密后符合网络安全的base64数据 |
String encryptBase64ToNetByPrivateKey(PrivateKey privateKey, byte[] data) | 私钥加密成符合网络安全的字符串(将"+"替换成"-","/"替换成"_","="替换成"") @param privateKey @param data 数据 @return 加密后符合网络安全的base64数据 |
String encryptBase64ByPrivateKey(String privateKey, String data) | 私钥加密数据 @param privateKey 私钥 @param data 数据 @return 加密后base64的数据 |
String encryptBase64ByPrivateKey(PrivateKey privateKey, String data) | 私钥加密数据 @param privateKey 私钥 @param data 数据 @return 加密后base64的数据 |
String encryptBase64ByPrivateKey(String privateKey, byte[] data) | 私钥加密数据 @param privateKey 私钥 @param data 数据 @return 加密后base64的数据 |
String encryptBase64ByPrivateKey(PrivateKey privateKey, byte[] data) | 私钥加密数据 @param privateKey 私钥 @param data 数据 @return 加密后base64的数据 |
String encryptHexByPrivateKey(String privateKey, String data) | 私钥加密数据 @param privateKey 私钥 @param data 数据 @return 加密后的16进制数据 |
String encryptHexByPrivateKey(PrivateKey privateKey, String data) | 私钥加密数据 @param privateKey 私钥 @param data 数据 @return 加密后的16进制数据 |
String encryptHexByPrivateKey(String privateKey, byte[] data) | 私钥加密数据 @param privateKey 私钥 @param data 数据 @return 加密后的16进制数据 |
String encryptHexByPrivateKey(PrivateKey privateKey, byte[] data) | 私钥加密数据 @param privateKey 私钥 @param data 数据 @return 加密后的16进制数据 |
byte[] encryptByPrivateKey(String privateKey, String data) | 私钥加密数据 @param privateKey 私钥字符串 @param data 数据 @return 加密后的数据 |
byte[] encryptByPrivateKey(PrivateKey privateKey, String data) | 私钥加密数据 @param privateKey 私钥字符串 @param data 数据 @return 加密后的数据 |
byte[] encryptByPrivateKey(String privateKey, byte[] data) | 私钥加密数据 @param privateKey 私钥字符串 @param data 数据 @return 加密后的数据 |
byte[] encryptByPrivateKey(PrivateKey privateKey, byte[] data) | 私钥加密数据 @param privateKey 私钥 @param data 数据 @return 加密后的数据 |
公钥加密 | |
String encryptBase64ToNetByPublicKey(String publicKey, String data) | 公钥加密成符合网络安全的数据(将"+"替换成"-","/"替换成"_","="替换成"") @param publicKey 公钥字符串 @param data 待加密的字符串 @return 加密后的符合网络安全的base64字符串 |
String encryptBase64ToNetByPublicKey(PublicKey publicKey, String data) | 公钥加密成符合网络安全的数据(将"+"替换成"-","/"替换成"_","="替换成"") @param publicKey 公钥 @param data 待加密的字符串 @return 加密后的符合网络安全的base64字符串 |
String encryptBase64ToNetByPublicKey(String publicKey, byte[] data) | 公钥加密成符合网络安全的数据(将"+"替换成"-","/"替换成"_","="替换成"") @param publicKey 公钥 @param data 待加密的数据 @return 加密后的符合网络安全的base64字符串 |
String encryptBase64ToNetByPublicKey(PublicKey publicKey, byte[] data) | 公钥加密成符合网络安全的数据(将"+"替换成"-","/"替换成"_","="替换成"") @param publicKey 公钥 @param data 待加密的数据 @return 加密后的符合网络安全的base64字符串 |
String encryptBase64ByPublicKey(String publicKey, String data) | 公钥加密数据 @param publicKey 公钥字符串 @param data 待加密的字符串 @return 加密后的base64字符串 |
String encryptBase64ByPublicKey(PublicKey publicKey, String data) | 公钥加密数据 @param publicKey 公钥 @param data 待加密的字符串 @return 加密后的base64字符串 |
String encryptBase64ByPublicKey(String publicKey, byte[] data) | 公钥加密数据 @param publicKey 公钥 @param data 待加密的数据 @return 加密后的base64字符串 |
String encryptBase64ByPublicKey(PublicKey publicKey, byte[] data) | 公钥加密数据 @param publicKey 公钥 @param data 待加密的数据 @return 加密后的base64字符串 |
String encryptHexByPublicKey(String publicKey, String data) | 公钥加密数据 @param publicKey 公钥 @param data 待加密的数据 @return 加密后的16进制字符串 |
String encryptHexByPublicKey(PublicKey publicKey, String data) | 公钥加密数据 @param publicKey 公钥 @param data 待加密的数据 @return 加密后的16进制字符串 |
String encryptHexByPublicKey(String publicKey, byte[] data) | 公钥加密数据 @param publicKey 公钥 @param data 待加密的数据 @return 加密后的16进制字符串 |
String encryptHexByPublicKey(PublicKey publicKey, byte[] data) | 公钥加密数据 @param publicKey 公钥 @param data 待加密的数据 @return 加密后的16进制字符串 |
byte[] encryptByPublicKey(String publicKey, String data) | 公钥加密数据 @param publicKey 公钥字符串 @param data 待加密的数据 @return 加密后的数据 |
byte[] encryptByPublicKey(PublicKey publicKey, String data) | 公钥加密数据 @param publicKey 公钥字符串 @param data 待加密的数据 @return 加密后的数据 |
byte[] encryptByPublicKey(String publicKey, byte[] data) | 公钥加密数据 @param publicKey 公钥字符串 @param data 待加密的数据 @return 加密后的数据 |
byte[] encryptByPublicKey(PublicKey publicKey, byte[] data) | 公钥加密数据 @param publicKey 公钥 @param data 待加密的数据 @return 加密后的数据 |
SHA1Utils
方法名 | 说明 |
---|---|
String encrypt2String(final String data) | SHA1加密 @param data 明文字符串 @return 16进制密文 |
String encrypt2String(final byte[] data) | SHA1加密 @param data 明文字节数组 @return 16进制密文 |
byte[] encrypt(final byte[] data) | SHA1加密 @param data 明文字节数组 @return 密文字节数组 |
String encryptHmac2String(final String data, final String key) | HmacSHA1加密 @param data 明文字符串 @param key 秘钥 @return 16进制密文 |
String encryptHmac2String(final byte[] data, final byte[] key) | HmacSHA1加密 @param data 明文字节数组 @param key 秘钥 @return 16进制密文 |
byte[] encryptHmac(final byte[] data, final byte[] key) | HmacSHA1加密 @param data 明文字节数组 @param key 秘钥 @return 密文字节数组 |
SHA256Utils
方法名 | 说明 |
---|---|
String encrypt2String(final String data) | SHA256加密 @param data 明文字符串 @return 16进制密文 |
String encrypt2String(final byte[] data) | SHA256加密 @param data 明文字节数组 @return 16进制密文 |
byte[] encrypt(final byte[] data) | SHA256加密 @param data 明文字节数组 @return 密文字节数组 |
String encryptHmac2String(final String data, final String key) | HmacSHA256加密 @param data 明文字符串 @param key 秘钥 @return 16进制密文 |
String encryptHmac2String(final byte[] data, final byte[] key) | HmacSHA256加密 @param data 明文字节数组 @param key 秘钥 @return 16进制密文 |
byte[] encryptHmac(final byte[] data, final byte[] key) | HmacSHA256加密 @param data 明文字节数组 @param key 秘钥 @return 密文字节数组 |
SHA384Utils
方法名 | 说明 |
---|---|
String encrypt2String(final String data) | SHA384加密 @param data 明文字符串 @return 16进制密文 |
String encrypt2String(final byte[] data) | SHA384加密 @param data 明文字节数组 @return 16进制密文 |
byte[] encrypt(final byte[] data) | SHA384加密 @param data 明文字节数组 @return 密文字节数组 |
String encryptHmac2String(final String data, final String key) | HmacSHA384加密 @param data 明文字符串 @param key 秘钥 @return 16进制密文 |
String encryptHmac2String(final byte[] data, final byte[] key) | HmacSHA384加密 @param data 明文字节数组 @param key 秘钥 @return 16进制密文 |
byte[] encryptHmac(final byte[] data, final byte[] key) | HmacSHA384加密 @param data 明文字节数组 @param key 秘钥 @return 密文字节数组 |
SHA512Utils
方法名 | 说明 |
---|---|
String encrypt2String(final String data) | SHA512加密 @param data 明文字符串 @return 16进制密文 |
String encrypt2String(final byte[] data) | SHA512加密 @param data 明文字节数组 @return 16进制密文 |
byte[] encrypt(final byte[] data) | SHA512加密 @param data 明文字节数组 @return 密文字节数组 |
String encryptHmac2String(final String data, final String key) | HmacSHA512加密 @param data 明文字符串 @param key 秘钥 @return 16进制密文 |
String encryptHmac2String(final byte[] data, final byte[] key) | HmacSHA512加密 @param data 明文字节数组 @param key 秘钥 @return 16进制密文 |
byte[] encryptHmac(final byte[] data, final byte[] key) | HmacSHA512加密 @param data 明文字节数组 @param key 秘钥 @return 密文字节数组 |