github傳送門git
Table of Contents
依賴
implementation 'fairy.easy:encryptioninformation:{latest_version}'
複製代碼
使用說明
Hash算法實現
代碼示例
HashHelper.encryptHashToString(shaType, data)
複製代碼
參數設置
數據 |
數據類型 |
數據解釋 |
shaType |
enum |
Hash算法枚舉 |
data |
String |
Hash的數據 |
Hmac算法實現
代碼示例
HmacHelper.encryptHmacToString(hmacType, data, key)
複製代碼
參數設置
數據 |
數據類型 |
數據解釋 |
hmacType |
enum |
Hmac算法枚舉 |
data |
String |
Hmac的數據 |
key |
String |
Hmac的密碼 |
對稱加密算法實現
代碼示例
SymmetryHelper.decryptSymmetryToStringDefault(symmetryType, cipherSymmetryType, data, key);
複製代碼
參數設置
數據 |
數據類型 |
數據解釋 |
symmetryType |
enum |
對稱加密算法枚舉 |
cipherSymmetryType |
enum |
對稱加密算法的填充格式枚舉 |
data |
String |
對稱加密算法的數據 |
key |
String |
對稱加密算法的密碼 |
非對稱加密算法實現
代碼示例
AsymmetryHelper.encryptAsymmetryToHexString(asymmetryType, cipherAsymmetryType, data, key, true);
複製代碼
參數設置
數據 |
數據類型 |
數據解釋 |
asymmetryType |
enum |
非對稱加密算法枚舉 |
cipherAsymmetryType |
enum |
非對稱加密算法的填充格式枚舉 |
data |
String |
非對稱加密算法的數據 |
key |
String |
非對稱加密算法的密碼 |
true |
boolean |
是不是公鑰 |
加密方法展現
Log.i(TAG, "MD5結果爲:" + EncryptionHelper.getMd5Param(ENCRYPT_VALUE));
Log.i(TAG, "SHA256結果爲:" + EncryptionHelper.getSha256Param(ENCRYPT_VALUE));
Log.i(TAG, "HmacMD5結果爲:" + EncryptionHelper.getHmacMd5Param(ENCRYPT_VALUE, ENCRYPT_KEY));
Log.i(TAG, "HmacSHA256結果爲:" + EncryptionHelper.getHmacSha256Param(ENCRYPT_VALUE, ENCRYPT_KEY));
String aesResult = EncryptionHelper.encryptAesParam(ENCRYPT_VALUE, AES_ENCRYPT_KEY);
Log.i(TAG, "AES加密HexString結果爲:" + aesResult);
Log.i(TAG, "AES解密HexString結果爲:" + EncryptionHelper.decryptAesParam(aesResult, AES_ENCRYPT_KEY));
String rsaResult = EncryptionHelper.encryptRsaParamWithPublicKeyToHexString(ENCRYPT_VALUE, RSA_PUBLIC_KEY);
Log.i(TAG, "RSA加密HexString結果爲:" + rsaResult);
Log.i(TAG, "RSA解密HexString結果爲:" + EncryptionHelper.decryptHexStringRsaParamWithPrivateKey(rsaResult, RSA_PRIVATE_KEY));
String rsa2Result = EncryptionHelper.encryptRsaParamWithPublicKey2ToBase64ToString(ENCRYPT_VALUE, RSA_PUBLIC_KEY);
Log.i(TAG, "RSA加密Base64結果爲:" + rsa2Result);
Log.i(TAG, "RSA解密Base64結果爲:" + EncryptionHelper.decryptBase64RsaParamWithPrivateKey2(rsa2Result, RSA_PRIVATE_KEY));
byte[] aesBytes=EncryptionHelper.encryptAesParam(ENCRYPT_VALUE.getBytes(),AES_ENCRYPT_KEY.getBytes());
byte[] result=EncryptionHelper.decryptAesParam(aesBytes,AES_ENCRYPT_KEY.getBytes());
Log.i(TAG,"AES Bytes解密結果爲:"+new String(result));
byte[] rsaBytes=EncryptionHelper.encryptRsaParamBytes(ENCRYPT_VALUE.getBytes(), Base64Helper.decode(RSA_PUBLIC_KEY.getBytes()));
byte[] rsaBytesResult=EncryptionHelper.decryptRsaParamBytes(rsaBytes,Base64Helper.decode(RSA_PRIVATE_KEY.getBytes()));
Log.i(TAG,"RSA Bytes解密結果爲:"+new String(rsaBytesResult));
複製代碼