加解密相關函數
更新時間 2024-07-22 09:45:33
最近更新時間: 2024-07-22 09:45:33
分享文章
本文簡述加解密相關函數的語法、作用、入參、返回值、示例。
ctyun.crc32_long
函數信息詳見下表:
| 項目 | 描述 |
|---|---|
| 語法 | intval = ctyun.crc32_long(str) |
| 作用 | 計算參數str的CRC-32摘要,與ctyun.crc32_short相比,其在相對較長的str輸入(即長于30 ~ 60字節)上性能更好。結果與ctyun.crc32_short完全相同。 |
| 入參 | str:string,待加密字符串。 |
| 返回值 | digest: 計算參數str的CRC-32摘要。 |
示例:
local src = "hello hello hello hello hello hello hello"
local digest = ctyun.crc32_long(src)
ctyun.crc32_short
函數信息詳見下表:
| 項目 | 描述 |
|---|---|
| 語法 | intval = ctyun.crc32_short(str) |
| 作用 | 計算參數str的CRC-32摘要,與ctyun.crc32_long相比,該方法在相對較短的str輸入(即小于30 ~ 60字節)上性能更好。結果與ctyun.crc32_long完全相同。 |
| 入參 | str:string,待加密字符串。 |
| 返回值 | digest: md5摘要的十六進制表示形式。 |
示例:
local src = "hello"
local digest = ctyun.crc32_short(src)
ctyun.sha1_bin
函數信息詳見下表:
| 項目 | 描述 |
|---|---|
| 語法 | digest = ctyun.sha1_bin(str) |
| 作用 | 計算參數str的SHA-1摘要,并返回二進制表示形式。 |
| 入參 | str:string,待加密字符串。 |
| 返回值 | digest: SHA-1摘要的二進制表示形式。 |
示例:
local src = "hello"
local digest = ctyun.sha1_bin(src)
ctyun.md5
函數信息詳見下表:
| 項目 | 描述 |
|---|---|
| 語法 | digest = ctyun.md5(str) |
| 作用 | 計算參數str的MD5摘要,并返回十六進制表示形式。 |
| 入參 | str:string,待加密字符串。 |
| 返回值 | digest: md5摘要的十六進制表示形式。 |
示例:
local src = "hello"
local digest = ctyun.md5(src)
--digest結果為:5d41402abc4b2a76b9719d911017c592
ctyun.md5_bin
函數信息詳見下表:
| 項目 | 描述 |
|---|---|
| 語法 | digest = ctyun.md5_bin(str) |
| 作用 | 計算參數str的MD5摘要,并返回二進制結果。 |
| 入參 | str:string,待加密字符串。 |
| 返回值 | digest: md5摘要的原始二進制形式。 |
示例:
local src = "some string we want to sign"
local digest = ctyun.md5_bin(src)
ctyun.hmac_sha1
函數信息詳見下表:
| 項目 | 描述 |
|---|---|
| 語法 | digest = ctyun.hmac_sha1(secret_key, str) |
| 作用 | 計算參數str的HMAC-SHA1摘要,并使用秘鑰<secret_key>得到結果。注意,使用ctyun.hmac_sha1生成的是HMAC-SHA1摘要的原始二進制形式,如果需要,可使用ctyun.encode_base64將結果編碼為文本表示形式。 |
| 入參 | secret_key : string,密鑰。 str:string,待加密字符串。 |
| 返回值 | digest: HMAC-SHA1摘要的原始二進制形式。 |
示例:
local key = "thisisverysecretstuff"
local src = "some string we want to sign"
local digest = ctyun.hmac_sha1(key, src)
ctyun.resp.set_output(ctyun.encode_base64(digest))
結果:R/pvxzHC4NLtj7S+kXFg/NePTmk=