Java 计算Objective-C中字符串的MD5哈希
我在将以下代码转换为Objective-C时遇到了很多困难,有人能帮忙吗:Java 计算Objective-C中字符串的MD5哈希,java,objective-c,hash,base64,md5,Java,Objective C,Hash,Base64,Md5,我在将以下代码转换为Objective-C时遇到了很多困难,有人能帮忙吗: public String encodeString(String s) { try { // Create MD5 Hash MessageDigest digest = java.security.MessageDigest.getInstance("MD5"); digest.update(s.getBytes()); byte message
public String encodeString(String s) {
try {
// Create MD5 Hash
MessageDigest digest = java.security.MessageDigest.getInstance("MD5");
digest.update(s.getBytes());
byte messageDigest[] = digest.digest();
Base64 b = null;
return b.encodeToString(messageDigest,1);
} catch (NoSuchAlgorithmException e) {
e.printStackTrace();
}
return "";
}
这应该起作用:
#import <CommonCrypto/CommonDigest.h>
- (NSString *) encodeString:(NSString *) s {
const char *cStr = [s UTF8String];
unsigned char result[CC_MD5_DIGEST_LENGTH];
CC_MD5(cStr, strlen(cStr), result);
NSMutableString *result = [NSMutableString stringWithCapacity:CC_MD5_DIGEST_LENGTH * 2];
for(int i = 0; i < CC_MD5_DIGEST_LENGTH; ++i) {
[result appendFormat:@"%02x", result[i]];
}
return [NSString stringWithString:result];
}
#导入
-(NSString*)编码字符串:(NSString*)s{
const char*cStr=[s UTF8String];
无符号字符结果[CC_MD5_DIGEST_LENGTH];
CC_MD5(cStr、strlen(cStr)、结果);
NSMutableString*result=[NSMutableString stringWithCapacity:CC_MD5_DIGEST_LENGTH*2];
对于(int i=0;i
这个怎么样: