目前对这个问题的最高投票表明:
另一个不是安全问题的安全问题虽然与安全相关,但却是完整的,并且很难解决散列密码和加密密码之间的区别.最常见于代码中的程序员试图提供不安全的"提醒我密码"功能.
究竟是什么区别?我总是认为哈希是一种加密形式.海报所指的不安全功能是什么?
在Objective C中,我一直使用以下代码来散列字符串:
-(NSString *) sha1:(NSString*)stringToHash {
const char *cStr = [stringToHash UTF8String];
unsigned char result[20];
CC_SHA1( cStr, strlen(cStr), result );
return [NSString stringWithFormat:@"%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X",
result[0], result[1], result[2], result[3],
result[4], result[5], result[6], result[7],
result[8], result[9], result[10], result[11],
result[12], result[13], result[14], result[15],
result[16], result[17], result[18], result[19]
];
}
Run Code Online (Sandbox Code Playgroud)
现在我需要相同的Android,但无法找到如何做到这一点.我一直在寻找这样的例子:在Android上进行SHA1加密? 但这并没有给我与iPhone相同的结果.谁能指出我正确的方向?