【仙女】Android簡單API實現Hash,Hmac,對稱與非對稱加密

EncryptionInfo

Android加密庫java

Download
GitHub issues
GitHub forks
GitHub stars
GitHub license
Travis CI


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));

複製代碼
相關文章
相關標籤/搜索