Есть ли дартовский эквивалент "hashlib.sha512 (out.encode ('utf-8')). Hexdigest ()"? - PullRequest
0 голосов
/ 16 октября 2019

Я довольно новичок в Dart и пытаюсь создать API в Dart. Я сталкиваюсь с проблемой, связанной с хэшированием, как я могу заставить его выводить 128 символов точно так же, как метод из python hashlib.sha512(out.encode('utf-8')).hexdigest().upper()

Я пытался использовать crypto и pointycastle Пакеты выводят хэш длины меньшечем 128, в отличие от одного из Python.

Итак, как лучше всего генерировать хэши sha512 длиной 128 в Dart?

1 Ответ

1 голос
/ 16 октября 2019

Для этого можно использовать пакет crypto :

import 'dart:convert';
import 'package:crypto/crypto.dart';

void main() {
  final hash = sha512.convert(utf8.encode('Hello World'));
  print(hash); // 2c74fd17edafd80e8447b0d46741ee243b7eb74dd2149a0ab1b9246fb30382f27e853d8585719e0e67cbda0daa8f51671064615d645ae27acb15bfb1447f459b
}
...