libsodium有错误代码吗?

时间:2017-03-21 05:09:54

标签: libsodium

或任何其他机制来了解函数失败的原因?

我正在调用crypto_pwhash并且它失败了(返回-1)没有明显的原因,实际上完全相同的代码与旧版本的libsodium一起正常工作。有错误代码会使调试变得容易很多。

1 个答案:

答案 0 :(得分:1)

大多数函数在失败时都不会返回特定的错误代码。

历史证明,使用不同的错误代码进行加密操作可以帮助攻击者进行毁灭性的攻击。<​​/ p>

crypto_pwhash分配内存。因此,它可能失败的一个原因是你的内存不足。在这种情况下,errno将被适当设置。

同时检查参数是否在允许的范围内。 crypto_pwhash_bytes_min()crypto_pwhash_memlimit_min()crypto_pwhash_memlimit_min()等功能可以派上用场。例如,考虑到该函数的目的,输出必须至少为128位。