在Android 上如何加密/解密 __CODE__和其他文件有一个很好的例子__CODE__吗?我正在开发一个需要加密/解密数据的项目,但我不确定该怎么做.
我需要快速而简单的方法来加密/解密 "很多" 字符串数据.我试过jasypt,但它在我的Android手机上崩溃了.我有大约2000条记录(字符串).
BasicTextEncryptor textEncryptor = new BasicTextEncryptor();
textEncryptor.setPassword("password");
String myEncryptedText = textEncryptor.encrypt(input);
Run Code Online (Sandbox Code Playgroud)
还有其他方法吗?我不需要极高的安全性,它需要快速!
首先,我已经看到 Android 4.2 在Android 4.2 和提供的解决方案上破坏了我的AES加密/解密代码 和 加密错误:
SecureRandom sr = null;
if (android.os.Build.VERSION.SDK_INT >= JELLY_BEAN_4_2) {
sr = SecureRandom.getInstance("SHA1PRNG", "Crypto");
} else {
sr = SecureRandom.getInstance("SHA1PRNG");
}
Run Code Online (Sandbox Code Playgroud)
对我不起作用,因为,当解码Android 4.2中Android <4.2加密的数据时,我得到:
javax.crypto.BadPaddingException: pad block corrupted
at com.android.org.bouncycastle.jcajce.provider.symmetric.util.BaseBlockCipher.engineDoFinal(BaseBlockCipher.java:709)
Run Code Online (Sandbox Code Playgroud)
我的代码很简单,直到Android 4.2才开始工作:
public static byte[] encrypt(byte[] data, String seed) throws Exception {
KeyGenerator keygen = KeyGenerator.getInstance("AES");
SecureRandom secrand = SecureRandom.getInstance("SHA1PRNG");
secrand.setSeed(seed.getBytes());
keygen.init(128, secrand);
SecretKey seckey = keygen.generateKey();
byte[] rawKey = seckey.getEncoded();
SecretKeySpec skeySpec = new SecretKeySpec(rawKey, "AES");
Cipher cipher = …Run Code Online (Sandbox Code Playgroud) 要将 AdMob 添加到 Android 应用程序,清单中需要以下内容:
android:name="com.google.android.gms.ads.APPLICATION_ID"
android:value="YOUR_ADMOB_APP_ID"
有什么方法可以保护 YOUR_ADMOB_APP_ID 在此处不以纯文本形式显示?它在发布 apk 文件中公开,只需使用存档器
我的android应用程序中有一个密码字符串.我需要使用.netWeb服务通过Web服务(即以...结尾.aspx)发送密码SOAP.在发送密码之前,我需要AES 128使用自定义密钥和IV 加密密码.
他们在.net中有一个加密/解密工具,带有自定义密钥和IV.该工具询问具有16位和IV 8位的自定义键.如果给它字符串,它会生成加密字符串.例
例:
Key : 1234567812345678
IV : 12345678
String : android
Encrypted string : oZu5E7GgZ83Z3yoK4y8Utg==
Run Code Online (Sandbox Code Playgroud)
我不知道如何在android中做到这一点.需要帮忙.
android ×5
java ×3
aes ×2
encryption ×2
admob ×1
asp.net ×1
bouncycastle ×1
cryptography ×1
string ×1