很明显,如果我们比较两个字符串,它很容易受到时间攻击。
我现在想知道如果对这两个字符串的哈希进行比较,时间泄漏是否仍然是一个漏洞?
它不会受到任何其他类型的攻击吗?(假设使用对碰撞攻击安全的哈希算法)。
或者如果有人能找出原始字符串的哈希值会发生什么?可以滥用吗?
这只是这个想法的一个例子:
user_pass = get_password_from_input();
if (memcmp(sha256(user_pass), sha256(HARD_CODED_PASS), SHA256_SIZE))
printf("Welcome!");
else
printf("Wrong Password!");