JAva MD 5暗号化の実現
前に.netプロジェクトをjavaプラットフォームに移行する必要があります.兄はこれを聞くと、愚かで、.netをしたことがありません.いろいろな穴、いろいろな心がだるくて力がありません.ここでは表にしません.しかし.netとjavaの文法の差は多くなく、私の執着と合理的な手配によって、最終的にプロジェクトの移行に成功しました.この過程で,各種の復号アルゴリズムに触れたのも収穫であり,事後総括の原則に基づいて,このテーマの文章を特筆した.
MD 5は主にチェックに用いられ、この用途に似ているのはRSAである.特に金額や重要なパラメータの伝送に関しては、パラメータがブロックされて改ざんされないようにするため、要求前にパラメータの重要なパラメータの一部を一定の順序でMD 5暗号化し、暗号化後の署名も一括してサービス側に伝送する必要があり、サービス側はこれらの重要なパラメータを以前に約束した順序でMD 5暗号化し、この暗号化された暗号文と伝送された署名をequals判定し,等しいとパラメータは改ざんされず,等しくなければパラメータが改ざんされたことを示す.くだらないことは言わないで、コードを差し上げます.
MD 5は主にチェックに用いられ、この用途に似ているのはRSAである.特に金額や重要なパラメータの伝送に関しては、パラメータがブロックされて改ざんされないようにするため、要求前にパラメータの重要なパラメータの一部を一定の順序でMD 5暗号化し、暗号化後の署名も一括してサービス側に伝送する必要があり、サービス側はこれらの重要なパラメータを以前に約束した順序でMD 5暗号化し、この暗号化された暗号文と伝送された署名をequals判定し,等しいとパラメータは改ざんされず,等しくなければパラメータが改ざんされたことを示す.くだらないことは言わないで、コードを差し上げます.
import java.io.UnsupportedEncodingException;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
public class MD5Util {
/**
* MD5
* @param source
* @return
* @throws NoSuchAlgorithmException
* @throws UnsupportedEncodingException
*/
public static String encode(String source) throws NoSuchAlgorithmException,
UnsupportedEncodingException {
//
MessageDigest md5 = MessageDigest.getInstance("MD5");
//
byte[] bytes = md5.digest(source.getBytes("utf-8"));
return bytesToHexString(bytes);
}
private static String bytesToHexString(byte[] bArray) {
StringBuilder sb = new StringBuilder(bArray.length);
String sTemp;
for (int i = 0,j=bArray.length; i < j; i++) {
sTemp = Integer.toHexString(0xFF & bArray[i]);
if (sTemp.length() < 2) {
sb.append(0);
}
sb.append(sTemp);
}
return sb.toString();
}
}