encrypt 패키지를 사용하고 있습니다.
AESKey를 넣어주면 16자리 키보다 작으면 늘리고 크면 16자리로 잘라서 사용합니다. (키를 16자리로 맞춰야 함)
그 외 empty값이 들어오면 죽어가지고 예외 처리 해주고 있습니다.
import 'package:encrypt/encrypt.dart';
String encrypt(String strAesKey, String strValue) {
if(strValue.isEmpty) {
return "";
}
if(strAesKey.length < 16) {
strAesKey = strAesKey + ' ' * (16 - strAesKey.length);
} else {
strAesKey = strAesKey.substring(0, 16);
}
final encrypted = Encrypter(AES(Key.fromUtf8(strAesKey)))
.encrypt(strValue, iv: IV.fromLength(16));
return encrypted.base64;
}
String decrypt(String strAesKey, String strValue) {
if(strValue.isEmpty) {
return "";
}
if(strAesKey.length < 16) {
strAesKey = strAesKey + ' ' * (16 - strAesKey.length);
} else {
strAesKey = strAesKey.substring(0, 16);
}
final decrypted = Encrypter(AES(Key.fromUtf8(strAesKey)))
.decrypt64(strValue, iv: IV.fromLength(16));
return decrypted;
}
'프로그래밍 > Flutter' 카테고리의 다른 글
[Flutter] ScrollToWidget (0) | 2022.06.01 |
---|---|
[Flutter] List<Widget>을 ListView로 사용하는 방법 (0) | 2022.05.16 |
[Flutter] Flavor 처리(Old version) (0) | 2022.05.05 |
[Flutter] 날씨 정보 받아오기(weather, geolocator) (0) | 2022.05.02 |
[Flutter] 난독화 (0) | 2022.04.28 |
댓글