欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

java 和c md5加密

MD5是一種廣泛使用的哈希函數(shù),用于將數(shù)據(jù)映射成固定長度的唯一字符串。在Java和C中,MD5加密算法非常常見,可以實(shí)現(xiàn)數(shù)據(jù)的安全存儲(chǔ)或傳輸。

// Java代碼示例
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
public class MD5Util {
public static String md5(String str) {
try {
MessageDigest md = MessageDigest.getInstance("MD5");
byte[] bytes = md.digest(str.getBytes());
StringBuilder stringBuilder = new StringBuilder();
for (byte b : bytes) {
String hex = Integer.toHexString(b & 0xff);
if (hex.length() == 1) {
stringBuilder.append("0");
}
stringBuilder.append(hex);
}
return stringBuilder.toString();
} catch (NoSuchAlgorithmException e) {
e.printStackTrace();
return null;
}
}
}

上面的Java代碼實(shí)現(xiàn)了一個(gè)將字符串進(jìn)行MD5加密的方法。在C語言中,MD5加密的實(shí)現(xiàn)也非常流行。

// C代碼示例
#include#include#include#includechar* calculate_md5(char* str) {
MD5_CTX mdContext;
MD5_Init(&mdContext);
MD5_Update(&mdContext, str, strlen(str));
unsigned char result[MD5_DIGEST_LENGTH];
MD5_Final(result, &mdContext);
char* res_str = (char*) malloc(sizeof(char) * 33);
for (int i = 0; i< MD5_DIGEST_LENGTH; i++)
sprintf(&res_str[i*2], "%02x", result[i]);
return res_str;
}

上面的C代碼中使用了OpenSSL庫來實(shí)現(xiàn)MD5加密。同樣,它也可以將字符串映射成MD5的唯一固定長度字符串。