Dart MD5 From String

时间:2017-12-18 14:33:44

标签: dart

如何从字符串生成md5哈希?

import 'package:crypto/crypto.dart' as crypto;
///Generate MD5 hash
generateMd5(String data) {
  var content = UTF8.encode(data);
  var md5 = crypto.md5;
}

我不知道接下来要做什么

3 个答案:

答案 0 :(得分:13)

找到答案:

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

///Generate MD5 hash
generateMd5(String data) {
  var content = new Utf8Encoder().convert(data);
  var md5 = crypto.md5;
  var digest = md5.convert(content);
  return hex.encode(digest.bytes);
}

答案 1 :(得分:2)

一种更有效的方法如下:

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

String generateMd5(String input) {
  return md5.convert(utf8.encode(input)).toString();
}

这避免了加载不必要的convert包并使用已经存在的Utf8Codec,而不是每次调用该函数时都实例化Utf8Encoder对象。

答案 2 :(得分:2)

只是为了节省其他人几分钟的搜索时间,从您可以使用的流中散列/消化文件:

    final fileStream = File('path/to/file.txt').openRead();
    final checksum = (await md5.bind(fileStream).first).toString();