sm_crypto 1.0.3
sm_crypto: ^1.0.3 copied to clipboard
Chinese national encryption algorithm SM2, SM3, SM4. Can output hex string or hex List<int>.
import 'package:sm_crypto/sm_crypto.dart';
void sm3Example() {
String data = 'Hello! SM-CRYPTO @Greenking19';
String sm3Encrypt = SM3.encryptString(data);
print('π SM3 Encrypt Data:');
print(sm3Encrypt);
}
void sm4Example() {
String key = SM4.createHexKey(key: '1234567890987654');
String data = 'Hello! SM-CRYPTO @Greenking19';
print('π ECB Encrypt Mode');
String ebcEncryptData = SM4.encrypt(data: data, key: key);
print('π EBC EncryptptData:\n $ebcEncryptData');
String ebcDecryptData = SM4.decrypt(data: ebcEncryptData, key: key);
print('π EBC DecryptData:\n $ebcDecryptData');
print('π CBC Encrypt Mode');
String iv = SM4.createHexKey(key: '1234567890987654');
String cbcEncryptData = SM4.encrypt(
data: data,
key: key,
mode: SM4CryptoMode.CBC,
iv: iv,
);
print('π CBC EncryptptData:\n $cbcEncryptData');
String cbcDecryptData = SM4.decrypt(
data: cbcEncryptData,
key: key,
mode: SM4CryptoMode.CBC,
iv: iv,
);
print('π CBC DecryptData:\n $cbcDecryptData');
}
void main() {
sm3Example();
sm4Example();
}