我目前正在使用以下代码加密密码,但它没有使用密钥。
package com.MD5Check;
import java.math.BigInteger;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
import android.app.Activity;
import android.os.Bundle;
public class MD5Check extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
getSignature();
}
public void getSignature()
{
try {
String s = "aditi9970";
MessageDigest md5 = MessageDigest.getInstance("MD5");
md5.update(s.getBytes(),0,s.length());
String signature = new BigInteger(1,md5.digest()).toString(16);
System.out.println("Signature: "+signature);
} catch (final NoSuchAlgorithmException e) {
e.printStackTrace();
}
}
}
我想使用带有密钥的md5来解析密码。
有人能提出正确的方法吗?
答案 0 :(得分:4)
MD5是一种散列算法 - 意味着该函数只会以一种方式(从原始数据转换为md5散列)转换数据。在这些情况下,我对“钥匙”的含义有点不清楚。如果您想要在对其进行散列之前对其进行加盐,那么您可以简单地连接原始字符串和盐。
或者您可能希望查看其他Android加密技术。我会从这里开始http://developer.android.com/reference/javax/crypto/package-summary.html