備考: このモジュールを使うには std/sha1 をインポートしてください。
SHA-1 (Secure Hash Algorithm 1) はメッセージダイジェストとして知られている 160-bit (20-byte) によるハッシュ値の入力と生成を処理する暗号化ハッシュ関数です。
import std/sha1 let accessName = secureHash("John Doe") assert $accessName == "AE6E4D1209F17B460503904FAD297B31E9CF6362"
import std/sha1 let a = secureHashFile("myFile.nim") b = parseSecureHash("10DFAEBF6BFDBC7939957068E2EFACEC4972933C") if a == b: echo "Files match"
関連:
- base64 モジュール は Base64 エンコーダーとデコーダーの実装
- hashes モジュール は様々な Nim 型で使える効率的なハッシュ値の算出方法
- md5 モジュール MD5 チェックサム・アルゴリズムの実装
プロシージャ
proc newSha1State(): Sha1State {...}{.raises: [], tags: [].}
- ソース 編集
proc update(ctx: var Sha1State; data: openArray[char]) {...}{.raises: [], tags: [].}
- ソース 編集
proc finalize(ctx: var Sha1State): Sha1Digest {...}{.raises: [], tags: [].}
- ソース 編集
proc secureHash(str: openArray[char]): SecureHash {...}{.raises: [], tags: [].}
-
str から SecureHash を生成します。
関連:
- secureHashFile プロシージャ はファイルから SecureHash を生成します
- parseSecureHash プロシージャ は文字列 hash を SecureHash へ変換します
用例:
let hash = secureHash("Hello World") assert hash == parseSecureHash("0A4D55A8D778E5022FAB701977C5D840BBC486D0")
ソース 編集 proc secureHashFile(filename: string): SecureHash {...}{.raises: [IOError], tags: [ReadIOEffect].}
-
ファイルから SecureHash を生成します。
関連:
- secureHash プロシージャ は文字列から SecureHash を生成します
- parseSecureHash プロシージャ は文字列 hash を SecureHash へ変換します
proc `$`(self: SecureHash): string {...}{.raises: [], tags: [].}
-
SecureHash 形式の文字列を返します。
関連:
- secureHash プロシージャ は文字列から SecureHash を生成します
用例:
let hash = secureHash("Hello World") assert $hash == "0A4D55A8D778E5022FAB701977C5D840BBC486D0"
ソース 編集 proc parseSecureHash(hash: string): SecureHash {...}{.raises: [ValueError], tags: [].}
-
文字列 hash を SecureHash へ変換します。
関連:
- secureHash プロシージャ は文字列から SecureHash を生成します
- secureHashFile プロシージャ はファイルから SecureHash を生成します
用例:
let hashStr = "0A4D55A8D778E5022FAB701977C5D840BBC486D0" secureHash = secureHash("Hello World") assert secureHash == parseSecureHash(hashStr)
ソース 編集 proc `==`(a, b: SecureHash): bool {...}{.raises: [], tags: [].}
-
双方の SecureHash 値が同一値であるか確認します。
用例:
let a = secureHash("Hello World") b = secureHash("Goodbye World") c = parseSecureHash("0A4D55A8D778E5022FAB701977C5D840BBC486D0") assert a != b assert a == c
ソース 編集