sha1
Примечание: Импортировать std/sha1 для использования этого модуля.
SHA-1 (Secure Hash Algorithm 1) — это криптографическая хеш-функция, которая принимает входные данные и генерирует 160-битное (20-байтное) значение хеша, известное как дайджест сообщения.
Основное использование
Пример:
let accessName = secureHash("John Doe")
assert $accessName == "AE6E4D1209F17B460503904FAD297B31E9CF6362"
let
a = secureHashFile("myFile.nim")
b = parseSecureHash("10DFAEBF6BFDBC7939957068E2EFACEC4972933C")
if a == b:
echo "Files match" См. также
- Модуль base64 реализует кодировщик и декодировщик Base64
- Модуль hashes для эффективных вычислений хеш-значений для различных типов Nim
- Модуль md5 реализует алгоритм контрольной суммы MD5
Импорты
- strutils, endians
Типы
Sha1Digest = array[0 .. 20 - 1, uint8]
- Исходный код Редактировать
SecureHash = distinct Sha1Digest
- Исходный код Редактировать
Sha1State = object count: int state: array[5, uint32] buf: array[64, byte]
- Исходный код Редактировать
Процедуры
proc newSha1State(): Sha1State {...}{.raises: [], tags: [].}-
Создает
Sha1State.Если вы используете процедуру secureHash, вызывать эту функцию явно не нужно.
Исходный код Редактировать proc update(ctx: var Sha1State; data: openArray[char]) {...}{.raises: [], tags: [].}-
Обновляет
Sha1Stateзначениемdata.Если вы используете процедуру secureHash, вызывать эту функцию явно не нужно.
Исходный код Редактировать proc finalize(ctx: var Sha1State): Sha1Digest {...}{.raises: [], tags: [].}-
Завершает
Sha1Stateи возвращаетSha1Digest.Если вы используете процедуру secureHash, вызывать эту функцию явно не нужно.
Исходный код Редактировать proc secureHash(str: openArray[char]): SecureHash {...}{.raises: [], tags: [].}-
Генерирует
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].}-
Генерирует
SecureHashиз файла.См. также:
-
Процедура secureHash для генерации
SecureHashиз строки -
Процедура parseSecureHash для преобразования строкового
hashвSecureHash
-
Процедура secureHash для генерации
proc `$`(self: SecureHash): string {...}{.raises: [], tags: [].}-
Возвращает строковое представление
SecureHash.См. также:
-
Процедура secureHash для генерации
SecureHashиз строки
Пример:
let hash = secureHash("Hello World") assert $hash == "0A4D55A8D778E5022FAB701977C5D840BBC486D0"Исходный код Редактировать -
Процедура secureHash для генерации
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)Исходный код Редактировать -
Процедура secureHash для генерации
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Исходный код Редактировать
© 2006–2021 Andreas Rumpf
Licensed under the MIT License.
https://nim-lang.org/docs/sha1.html