Android(安卓)- 字符串的加密和解密
16lz
2022-06-17
转载请注明出处:https://blog.csdn.net/mythmayor/article/details/75257981
1.字符串的加密
/** * 加密 **/ private String encryptPassword(String clearText) { try { DESKeySpec keySpec = new DESKeySpec( MyConstant.PASSWORD_ENC_SECRET.getBytes("UTF-8")); SecretKeyFactory keyFactory = SecretKeyFactory.getInstance("DES"); SecretKey key = keyFactory.generateSecret(keySpec); Cipher cipher = Cipher.getInstance("DES"); cipher.init(Cipher.ENCRYPT_MODE, key); String encrypedPwd = Base64.encodeToString(cipher.doFinal(clearText .getBytes("UTF-8")), Base64.DEFAULT); return encrypedPwd; } catch (Exception e) { } return clearText; }
2.字符串的解密
/** * 解密 **/ private String decryptPassword(String encryptedPwd) { try { DESKeySpec keySpec = new DESKeySpec(MyConstant.PASSWORD_ENC_SECRET.getBytes("UTF-8")); SecretKeyFactory keyFactory = SecretKeyFactory.getInstance("DES"); SecretKey key = keyFactory.generateSecret(keySpec); byte[] encryptedWithoutB64 = Base64.decode(encryptedPwd, Base64.DEFAULT); Cipher cipher = Cipher.getInstance("DES"); cipher.init(Cipher.DECRYPT_MODE, key); byte[] plainTextPwdBytes = cipher.doFinal(encryptedWithoutB64); return new String(plainTextPwdBytes); } catch (Exception e) { } return encryptedPwd; }
备注:常量PASSWORD_ENC_SECRET可自行定义。
public class MyConstant { public static final String PASSWORD_ENC_SECRET = "mythmayor";}
3.下载Demo
字符串加密和解密Demo下载
更多相关文章
- Android(安卓)关于wifi管理的代码
- Android创建XMl文件
- android设置字符串到剪贴板
- Android下面的MD5加密
- Android:TextUtils类介绍以及常见使用
- Android(安卓)Studio中图片的格式转换
- Android(安卓)Studio中src/main/res/values中strings.xml文件中
- Android(安卓)Studio——Android(安卓)TextUtils类介绍
- Android版本的RSA非对称加密实现