src/checksums/sha1
nimble install checksums. SHA-1 (Secure Hash Algorithm 1) — это криптографическая хеш-функция, которая принимает входные данные и генерирует значение хеша размером 160 бит (20 байт), известное как дайджест сообщения.
Обратите внимание, что SHA-1 формально устарел с 2011 года, и настоятельно рекомендуется перейти к более сильным хеш-функциям, таким как семейство SHA-2 или SHA-3.
Несмотря на то, что SHA-1 формально устарел, сам модуль не устарел и будет продолжать использоваться.
См. также
- модуль base64 для кодирования и декодирования Base64
- модуль hashes для эффективных вычислений значений хеша для различных типов Nim
- модуль md5 для алгоритма контрольной суммы MD5
- модуль sha2 для более нового семейства хеш-функций SHA-2
- модуль sha3 для новейшего семейства хеш-функций SHA-3
Пример:
import src/checksums/sha1
let accessName = secureHash("John Doe")
assert $accessName == "AE6E4D1209F17B460503904FAD297B31E9CF6362" Пример: cmd: -r:off
import src/checksums/sha1
let
a = secureHashFile("myFile.nim")
b = parseSecureHash("10DFAEBF6BFDBC7939957068E2EFACEC4972933C")
assert a == b, "files don't match" Типы
SecureHash = distinct Sha1Digest
Sha1Digest = array[0 .. 20 - 1, uint8]
Sha1State = object
Процедуры
proc `$`(self: SecureHash): string {....raises: [], tags: [], forbids: [].}-
Возвращает строковое представление
SecureHash.См. также:
-
процедура secureHash для генерации
SecureHashиз строки
Пример:
let hash = secureHash("Hello World") assert $hash == "0A4D55A8D778E5022FAB701977C5D840BBC486D0" -
процедура secureHash для генерации
proc `==`(a, b: SecureHash): bool {....raises: [], tags: [], forbids: [].}- Проверяет, равны ли два значения
SecureHash.Пример:
let a = secureHash("Hello World") b = secureHash("Goodbye World") c = parseSecureHash("0A4D55A8D778E5022FAB701977C5D840BBC486D0") assert a != b assert a == c proc finalize(ctx: var Sha1State): Sha1Digest {....raises: [], tags: [], forbids: [].}-
Завершает
Sha1Stateи возвращаетSha1Digest.Если вы используете процедуру secureHash, вызов этой функции не нужен.
proc isValidSha1Hash(s: string): bool {....raises: [], tags: [], forbids: [].}- Проверяет, является ли строка допустимым значением хеша sha1.
proc newSha1State(): Sha1State {....raises: [], tags: [], forbids: [].}-
Создаёт
Sha1State.Если вы используете процедуру secureHash, вызов этой функции не нужен.
proc parseSecureHash(hash: string): SecureHash {....raises: [ValueError], tags: [], forbids: [].}-
Преобразует строку
hashвSecureHash.См. также:
-
процедура secureHash для генерации
SecureHashиз строки -
процедура secureHashFile для генерации
SecureHashиз файла
Пример:
let hashStr = "0A4D55A8D778E5022FAB701977C5D840BBC486D0" secureHash = secureHash("Hello World") assert secureHash == parseSecureHash(hashStr) -
процедура secureHash для генерации
proc secureHash(str: openArray[char]): SecureHash {....raises: [], tags: [], forbids: [].}-
Генерирует
SecureHashизstr.См. также:
-
процедура secureHashFile для генерации
SecureHashиз файла -
процедура parseSecureHash для преобразования строки
hashвSecureHash
Пример:
let hash = secureHash("Hello World") assert hash == parseSecureHash("0A4D55A8D778E5022FAB701977C5D840BBC486D0") -
процедура secureHashFile для генерации
proc secureHashFile(filename: string): SecureHash {....raises: [IOError], tags: [ReadIOEffect], forbids: [].}-
Генерирует
SecureHashиз файла.См. также:
-
процедура secureHash для генерации
SecureHashиз строки -
процедура parseSecureHash для преобразования строки
hashвSecureHash
-
процедура secureHash для генерации
proc update(ctx: var Sha1State; data: openArray[char]) {....raises: [], tags: [], forbids: [].}-
Обновляет
Sha1Stateсdata.Если вы используете процедуру secureHash, вызов этой функции не нужен.
© 2006–2024 Andreas Rumpf
Licensed under the MIT License.
https://nim-lang.org/docs/sha1.html