bey*_*ski 3 php mysql hash database-schema
我用这个函数来哈希我的密码:
// RETURNS: rAyZOnlNBxO2WA53z2rAtFlhdS+M7kec9hskSCpeL6j+WwcuUvfFbpFJUtHvv7ji   
base64_encode(hash_hmac('sha384', $str . SC_NONCE, SC_SITEKEY, true));
我在char(64)字段(MySQL -InnoDB)中存储哈希值.
我应该使用varchar(64)而不是char(64)吗?为什么?
编辑: 我用sha384更改了sha256.因为在这个例子中,sha256总是为我返回44个字节.抱歉令人困惑.现在它是64字节.
varchars仅使用最多所需的长度来节省存储空间.如果64位散列总是64位,那么它在存储方面没有区别,所以在这种情况下char可能和varchar一样好.
如果要存储可变长度数据,则varchar将节省浪费不必要的空间.