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(md5Sum(input)); } /// This will generate the Sha1 bytes and hash it using #bytes2Hash static String sha1Hash(String input) { return bytes2Hash(sha1Sum(input)); } /// This will generate the Sha256 bytes and hash it using #bytes2Hash. static String sha256Hash(String input) { return bytes2Hash(sha256Sum(input)); } /// This function takes a list of bytes and returns a hash string static String bytes2Hash(List 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 md5Sum(String input) { return md5.convert(utf8.encode(input)).bytes; } /// This functions returns the bytes instead of a hash string static List sha1Sum(String input) { return sha1.convert(utf8.encode(input)).bytes; } /// This function returns the bytes instead of a hash string static List sha256Sum(String input) { return sha256.convert(utf8.encode(input)).bytes; } }