本文介绍了在 Android 中加密/解密字符串的简单方法的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我的问题是如何加密字符串:
String AndroidId;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.download_movie_activity);
cancel = (Button)findViewById(R.id.img_cancle);
linear= (LinearLayout)findViewById(R.id.progress);
linear.setVisibility(View.GONE);
String encrypted = "MzIyNTE2" + "OTQNzM4NTQ=";
Log.e("Encrypt", encrypted);
WifiManager wifiManager = (WifiManager) getSystemService(Context.WIFI_SERVICE);
WifiInfo wInfo = wifiManager.getConnectionInfo();
AndroidId = wInfo.getMacAddress();
AndroidId=encrypted;
如何加密存储 MAC 地址的 AndroidId.
How do i encrypt my AndroidId in which I storing a MAC address.
推荐答案
您可以使用 密码
为此.
You can use Cipher
for this.
此类提供用于加密和解密的密码密码功能.它构成了 Java 加密扩展 (JCE) 框架的核心.
This class provides the functionality of a cryptographic cipher for encryption and decryption. It forms the core of the Java Cryptographic Extension (JCE) framework.
加解密示例:
public static SecretKey generateKey()
throws NoSuchAlgorithmException, InvalidKeySpecException
{
return secret = new SecretKeySpec(password.getBytes(), "AES");
}
public static byte[] encryptMsg(String message, SecretKey secret)
throws NoSuchAlgorithmException, NoSuchPaddingException, InvalidKeyException, InvalidParameterSpecException, IllegalBlockSizeException, BadPaddingException, UnsupportedEncodingException
{
/* Encrypt the message. */
Cipher cipher = null;
cipher = Cipher.getInstance("AES/ECB/PKCS5Padding");
cipher.init(Cipher.ENCRYPT_MODE, secret);
byte[] cipherText = cipher.doFinal(message.getBytes("UTF-8"));
return cipherText;
}
public static String decryptMsg(byte[] cipherText, SecretKey secret)
throws NoSuchPaddingException, NoSuchAlgorithmException, InvalidParameterSpecException, InvalidAlgorithmParameterException, InvalidKeyException, BadPaddingException, IllegalBlockSizeException, UnsupportedEncodingException
{
/* Decrypt the message, given derived encContentValues and initialization vector. */
Cipher cipher = null;
cipher = Cipher.getInstance("AES/ECB/PKCS5Padding");
cipher.init(Cipher.DECRYPT_MODE, secret);
String decryptString = new String(cipher.doFinal(cipherText), "UTF-8");
return decryptString;
}
加密:
SecretKey secret = generateKey();
EncUtil.encryptMsg(String toEncrypt, secret))
解密:
EncUtil.decryptMsg(byte[] toDecrypt, secret))
这篇关于在 Android 中加密/解密字符串的简单方法的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!