簡體   English   中英

C crypt()在md5模式下無法正常工作?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM