dart-app-core/lib/encrypt/encrypt.dart
이동명/메타버스서비스개발팀 5673d615c8 프래임워크 업데이트
2024-06-17 07:59:28 +09:00

33 lines
No EOL
999 B
Dart

// ignore_for_file: depend_on_referenced_packages
import 'dart:convert';
import 'package:encrypt/encrypt.dart';
import 'package:convert/convert.dart';
import 'package:crypto/crypto.dart' as crypto;
//encrypt
String encrypt(String key, String text) {
var md5Key = md5(key);
var key32 = Key.fromUtf8(md5Key);
var iv16 = IV.fromUtf8(md5Key.substring(0, 16));
final e = Encrypter(AES(key32, mode: AESMode.cbc));
final encryptedData = e.encrypt(text, iv: iv16);
return encryptedData.base64;
}
//dycrypt
String decrypt(String key, String text) {
var md5Key = md5(key);
var key32 = Key.fromUtf8(md5Key);
var iv16 = IV.fromUtf8(md5Key.substring(0, 16));
final e = Encrypter(AES(key32, mode: AESMode.cbc));
final decryptedData = e.decrypt(Encrypted.fromBase64(text), iv: iv16);
return decryptedData;
}
String md5(String data) {
var content = Utf8Encoder().convert(data);
var md5 = crypto.md5;
var digest = md5.convert(content);
return hex.encode(digest.bytes);
}