LibAC-dart/lib/utils/Hashing.dart

64 lines
1.8 KiB
Dart

import 'dart:convert';
import 'package:crypto/crypto.dart';
class Hashing {
/// This will generate the md5 bytes and hash it using #bytes2Hash
static String md5Hash(String input) {
return bytes2Hash(md5SumStr(input));
}
static String llMD5String(String src, int nonce) {
return md5Hash("${src}:${nonce}");
}
/// This will generate the Sha1 bytes and hash it using #bytes2Hash
static String sha1Hash(String input) {
return bytes2Hash(sha1SumStr(input));
}
/// This will generate the Sha256 bytes and hash it using #bytes2Hash.
static String sha256Hash(String input) {
return bytes2Hash(sha256SumStr(input));
}
/// This function takes a list of bytes and returns a hash string
static String bytes2Hash(List<int> bytes) {
String x = "";
for (int byte in bytes) {
x += byte.toRadixString(16).padLeft(2, '0');
}
return x;
}
/// This function returns the bytes instead of a hash string
static List<int> md5SumStr(String input) {
return md5.convert(utf8.encode(input)).bytes;
}
/// This functions returns the bytes instead of a hash string
static List<int> sha1SumStr(String input) {
return sha1.convert(utf8.encode(input)).bytes;
}
/// This function returns the bytes instead of a hash string
static List<int> sha256SumStr(String input) {
return sha256.convert(utf8.encode(input)).bytes;
}
/// This function returns the bytes instead of a hash string
static List<int> md5Sum(List<int> input) {
return md5.convert(input).bytes;
}
/// This functions returns the bytes instead of a hash string
static List<int> sha1Sum(List<int> input) {
return sha1.convert(input).bytes;
}
/// This function returns the bytes instead of a hash string
static List<int> sha256Sum(List<int> input) {
return sha256.convert(input).bytes;
}
}