Open Nguyenpk57 opened 5 years ago
import 'package:tripledes/tripledes.dart';
void main() {
String text = "Ngoc create a chatroom. 👻 👻 김진학테스트 tiếng việt";
String secret = "20180531100733_userUid02_15277360532520000";
String cipherText = encryptMessDES(secret, text);
print(cipherText);
String newTxt = decryptMessDES(secret, cipherText);
print(newTxt);
}
String decryptMessDES(String key, String cipherText) {
var blockCipher = new BlockCipher(new DESEngine(), key);
return blockCipher.decodeB64(cipherText);
}
String encryptMessDES(String key, String message) {
var blockCipher = new BlockCipher(new DESEngine(), key);
return blockCipher.encodeB64(message);
}
output
vHaK4VgcfAACgJQuyYRl9C5V7vQJ8zkOygcYZb8twJYIuNV2V8vBDGfhW4bXlL7RsGHgAYLJG2s= Ngoc create a chatroom. ={ ={ @ÄYL¤¸ ti¿ng viÇt
i try on js, but ouput as: "vHaK4VgcfAACgJQuyYRl9C5V7vQJ8zkObOTrkGYt0uyCsNflh+KgLsEq+yZQzsxC7N2thZLfzLoVmKTi5IEgcUgHnezKqTaQ" "Ngoc create a chatroom. 👻 👻 김진학테스트 tiếng việt"
function decryptByDES(ciphertext, key) {
var keyHex = CryptoJS.enc.Utf8.parse(key);
// direct decrypt ciphertext
var decrypted = CryptoJS.DES.decrypt({
ciphertext: CryptoJS.enc.Base64.parse(ciphertext)
}, keyHex, {
mode: CryptoJS.mode.ECB,
padding: CryptoJS.pad.Pkcs7
});
return decrypted.toString(CryptoJS.enc.Utf8);
}
function encryptByDES(message, key) {
var keyHex = CryptoJS.enc.Utf8.parse(key);
var encrypted = CryptoJS.DES.encrypt(message, keyHex, {
mode: CryptoJS.mode.ECB,
padding: CryptoJS.pad.Pkcs7
});
return encrypted.toString();
}
Code js
No solution? Im having the same problem with emojis.
No solution? Im having the same problem with emojis.
hi Bro, I am find solution in a long time ago. When I try with other lib on js and use other code on dart. It's working good
No solution? Im having the same problem with emojis.
https://medium.com/@chingsuehok/cryptojs-aes-encryption-decryption-for-flutter-dart-7ca123bd7464 hi, you can try with this source. He used my source code and its' work with me
No solution? Im having the same problem with emojis.
https://medium.com/@chingsuehok/cryptojs-aes-encryption-decryption-for-flutter-dart-7ca123bd7464 hi, you can try with this source. He used my source code and its' work with me
Ok, thanks, Ill try it.
import 'package:tripledes/tripledes.dart'; void main() { String text = "Ngoc create a chatroom. 👻 👻 김진학테스트 tiếng việt"; String secret = "20180531100733_userUid02_15277360532520000"; String cipherText = encryptMessDES(secret, text); print(cipherText); String newTxt = decryptMessDES(secret, cipherText); print(newTxt); } String decryptMessDES(String key, String cipherText) { var blockCipher = new BlockCipher(new DESEngine(), key); return blockCipher.decodeB64(cipherText); } String encryptMessDES(String key, String message) { var blockCipher = new BlockCipher(new DESEngine(), key); return blockCipher.encodeB64(message); }
output
vHaK4VgcfAACgJQuyYRl9C5V7vQJ8zkOygcYZb8twJYIuNV2V8vBDGfhW4bXlL7RsGHgAYLJG2s= Ngoc create a chatroom. ={ ={ @ÄYL¤¸ ti¿ng viÇt
i try on js, but ouput as: "vHaK4VgcfAACgJQuyYRl9C5V7vQJ8zkObOTrkGYt0uyCsNflh+KgLsEq+yZQzsxC7N2thZLfzLoVmKTi5IEgcUgHnezKqTaQ" "Ngoc create a chatroom. 👻 👻 김진학테스트 tiếng việt"
the RIGHT WAY:
void main() {
String text = "Ngoc create a chatroom. 👻 👻 김진학테스트 tiếng việt";
String secret = "20180531100733_userUid02_15277360532520000";
text = String.fromCharCodes(Utf8Encoder().convert(text)); // THE POINT 1
String cipherText = encryptMessDES(secret, text);
print(cipherText);
String newTxt = decryptMessDES(secret, cipherText);
newTxt = Utf8Decoder().convert(newTxt.codeUnits); // THE POINT 2
print(newTxt);
}
text example: "👻 👻 김진학테스트 tiếng việt" It cannot decrypt success ={ ={ @ÄYL¤¸ ti¿ng viÇt