一、介紹
如果在Python中需要對用戶輸入的密碼或者其他內容進行加密,首選的方法是生成hash值。
在Python中可以利用二個模塊來進行:
- crypt
- hashlib
二、crypt
(一)crypt的主要方法和常量
| 名稱 | 描述 |
|---|---|
| md5(…) | 利用md5算法加密 |
| sha1(…) | 利用sha1算法加密 |
| sha224(…) | 利用sha224算法加密 |
| sha256(…) | 利用sha256算法加密 |
| sha384(…) | 利用sha384算法加密 |
| sha512(…) | 利用sha512算法加密 |
(二)使用說明與示例
使用crypt.crypt(…)進行hash加密的時候,需要提供二個參數:
- 加密內容
- salt
如果不特別指定salt,系統就會調用crypt.mksalt(…)生成一個salt
如果想要以特定的加密算法生成salt就應該使用下面的命令:
>>>salt = crypt.mksalt(crypt.METHOD_SHA512)>>> salt'$6$s8Q3eNP6urKZb3AK'
然后再進行數據加密:
>>> hash = crypt.crypt("helloworld",salt)>>> hash'$6$s8Q3eNP6urKZb3AK$L0O5cqHRU.1f170bV2KrjF3LkLL54So442TqUIsk.wYtCtOSD4Tyt./fj6W6Y.EzrbNm00grA4yPPhXGya2ie1'三、hashlib
(一)hashlib的主要方法和常量
| 名稱 | 描述 |
|---|---|
| md5(…) | 利用md5算法加密 |
| sha1(…) | 利用sha1算法加密 |
| sha224(…) | 利用sha224算法加密 |
| sha256(…) | 利用sha256算法加密 |
| sha384(…) | 利用sha384算法加密 |
| sha512(…) | 利用sha512算法加密 |
**(二)Hash對象特有的方法
如果你利用 hashlib 生成了一個Hash對象,那么這個Hash對象會包含如下方法:
| 名稱 | 描述 |
|---|---|
| update(arg) | 可以重復利用指定了特殊加密算法的Hash對象,對 arg 進行加密 |
| digest(…) | 以字符形式返回加密內容 |
| hexdigest(…) | 以16進制形式返回加密內容 |
| copy(…) | 為了達到重復利用Hash對象的目的,而克隆Hash對象 |
新聞熱點
疑難解答