[英]C crypt() not working correctly on md5 mode?
我在c中第一次使用crypt()函數。 我剛剛運行了一些初始測試,因此實際上並沒有使用這些測試,特別是恆定的鹽值。 :)
我運行以下代碼:
crypt(password, "$1$k7de83ka7");
根據我對crypt文檔的理解,這個提供的salt值應該指定crypt()在MD5模式下運行,這將產生格式為“$ 1 $”的哈希。 $ 1 $指定使用MD5進行哈希處理的值。 這就是我理解它應該工作的方式。
但是,當我測試上面的代碼時,返回的值是“$ 1ciFuWRySk3A”,所以它似乎缺少一個'$'字符。 我做錯了導致這個問題嗎?
crypt(password, "$1$k7de83ka7");
我不認為你正在從手冊頁正確地調用crypt
:
如果salt是以字符“$ id $” 開頭的字符串,后跟以“$”結尾的字符串 : $ id $ salt $ encrypted
然后id標識加密方法。
你不應該期望它返回一個包含$的字符串(不一定)
成功時,將返回指向加密密碼的指針。 出錯時,返回NULL。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.