想要高大上的加密,请划走。
在APP中,使用SQDlite进行本地存储,有的时候为安全提供加密。这里就讨论使用
Java : javax.crypto.Cipher
首先,需要有一个二级key str="xxxxxxxx",使用Base64生成密钥
byte[] encodedKey = Base64.decode(str,Base64.DEFAULT)
再使用SecretKey 生成加密key供加密解密使用
SecretKey secretKey = new SecretKeySpec(encodedKey,0,encodedKey.length,)
加密操作:
String encipher(String str) {
try{
cipher.init(Cipher.ENCRYPT_MODE, secretKeey)
byte[] data = cipher.doFinal(str.getBytes());
return Base64.encodeToString(data, Base64. DEFAULT);
} catch (IllegalBlockSizeException |
BadPaddingException | InvalidKeyException e)(
Log.e("encipher", "Exception:" + e);
return "";
解密操作
public String decryption(String dbData) {
try
cipher.init(Cipher.DECRYPT_MODE, secretkey)
byte[] decryptionData = cipher.doFinal(Base64.decode(dbDat:a, Base64.DEFAULT))
return new String(decryptionData);
catch (InvalidKeyException | IllegalBlockSizeException | BadPaddingException e)
Log.e(tag: "decryption", msg: Exception: + e);
return ""