如何从字符串生成md5哈希?
import 'package:crypto/crypto.dart' as crypto;
///Generate MD5 hash
generateMd5(String data) {
var content = UTF8.encode(data);
var md5 = crypto.md5;
}
我不知道接下来要做什么
答案 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();