我想加密一个字符串然后把它放在一个文件上.也想在我想要的时候解密它.我不需要非常强大的安全性.我只是想让其他人更难获取我的数据.
我尝试了几种方法.这是这些.
Md5加密:
public static final String md5(final String toEncrypt) {
try {
final MessageDigest digest = MessageDigest.getInstance("md5");
digest.update(toEncrypt.getBytes());
final byte[] bytes = digest.digest();
final StringBuilder sb = new StringBuilder();
for (int i = 0; i < bytes.length; i++) {
sb.append(String.format("%02X", bytes[i]));
}
return sb.toString().toLowerCase();
} catch (Exception exc) {
return ""; // Impossibru!
}
}
Run Code Online (Sandbox Code Playgroud)
我尝试了这个功能,并能够加密字符串,但我不能解密它的数据.所以这不是解决方案.
DES加密:
密码短语是自动生成的.密码始终是一样的吗?然后我的安全在哪里.所以这也不是我的解决方案.
AES加密:
我也从这个链接尝试过Aes.这里的密钥也是自动生成的?
还有其他方法吗?
我的问题是如何加密字符串:
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;
Run Code Online (Sandbox Code Playgroud)
U如何加密我存储MAC地址的AndroidId.
我们正忙着为客户开发Java Web服务.有两种可能的选择:
将加密的用户名/密码存储在Web服务客户端上.从配置中读取.在客户端文件,解密和发送.
将加密的用户名/密码存储在Web服务器上.从配置中读取.Web服务器上的文件,解密并在Web服务中使用.
Web服务使用用户名/密码来访问第三方应用程序.
客户端已经有提供此功能的类,但这种方法涉及以明文形式发送用户名/密码(尽管在Intranet内).他们更喜欢存储信息.在网络服务中,但并不真的想要支付他们已有的东西.(安全性不是一个重要的考虑因素,因为它只在其内部网中).
所以我们需要快速简便的Java.
有什么建议?
服务器是Tomkat 5.5.Web服务是Axis2.
我想使用chacha20解密和加密字符串
BouncyCastleProvider 正在使用 chacha20 技术。所以我把它包括在罐子里。并尝试了代码但无法工作。
测试版
public class PBE extends AppCompatActivity {
private static final String salt = "A long, but constant phrase that will be used each time as the salt.";
private static final int iterations = 2000;
private static final int keyLength = 256;
private static final SecureRandom random = new SecureRandom();
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.pbe);
try {
Security.insertProviderAt(new BouncyCastleProvider(), 1);
//Security.addProvider(new BouncyCastleProvider());
String passphrase = "The quick brown fox jumped …Run Code Online (Sandbox Code Playgroud)