linux crypt 函式使用總結

2022-05-22 06:54:11 字數 1034 閱讀 9678

原型:

char *crypt(const char *key, const char *salt);

標準說明:

crypt()演算法會接受乙個最長可達8字元的金鑰(即key),並施以資料加密演算法(des)的一種變體。salt引數指向乙個兩個字元的字串,用來改變des演算法。該函式返回乙個指標,指向長度13個字元的字串。

在glibc2中crypt函式擴充套件使用:

crypt支援的額外加密演算法有md5、blowfish(某些特定的linux系統支援)、sha-256(glibc2.7開始)、sha-512(glibc2.7開始),並通過salt以「$id$salt$encrypted」 這樣的格式區分不同演算法,根據id的不同值選擇不同的加密演算法來代替預設的des演算法,id的格式如下:

id  | method

─────────────────────────────────────────────

1 | md5

2a | blowfish (not in mainline glibc; added in some

| linux distributions)

5 | sha-256 (since glibc 2.7)

6 | sha-512 (since glibc 2.7)

$5$salt$encrypted 的salt代表crypt函式使用sha- 256加密演算法 

$6$salt$encrypted 的salt代表crypt函式使用sha-512加密演算法 

$salt$ 中的salt最多支援長度為16字元的字串,相比預設的des演算法支援最長為2字元有了很大的改進,最後crypt的返回值根據加密演算法的不同也有不同長度的字串返回。

md5     | 22 characters

sha-256 | 43 characters

sha-512 | 86 characters

Linux crypt函式的使用

crypt函式用來加密,目前linux平台上加密的方法大致有md5,des,3 des 在redhat平台上md5和des用的多一些。crypt函式的原形是 char crypt const char key,const char salt key就是我們要傳入的明文,salt是我們指定用來加密的金...

python的eval exec函式使用總結

eval函式 一 函式的作用 將字串str當成有效的表示式來求值並返回計算結果。它要執行的 python 只能是單個運算表示式 不支援任意形式的賦值操作 而不能是複雜的 邏輯。二 函式的定義 eval expression,globals none,locals none 引數說明 expressi...

scala dataframe udf 函式總結

def cosinedistence ve1 vetor,ve2 vector double sum var x1sum v1.map x1 math.pow x1,2 sum x1sum math.pow x1sum,1.0 2 var x2sum v2.map x2 math.pow x2,2 ...