AES加密解密的例子中,适用于字符串和结构。
基于:https://howtodoinjava.com/security/java-aes-encryption-example/
“数据加密标准(DES)加密算法被认为是高度不安全;消息使用DES加密解密了蛮力一天内由机器如电子前沿基金会(EFF)的深裂缝。”
“更安全的加密算法AES(高级加密标准的对称加密算法。美国使用AES加密来保护敏感但非机密材料,所以我们可以说它是足够安全的。”
1。AES加密和解密
让我们看看一个例子使用AES加密的Matlab程序。
classdef AES <处理
% UNTITLED总结这个类的就在这里
%的详细解释
属性(访问=私人)
secretKey
密码
结束
方法
函数obj = AES(秘密,算法)
% AES构造这个类的一个实例
%算法选项https://docs.oracle.com/javase/9/docs/specs/security/standard-names.html messagedigest-algorithms
进口java.security.MessageDigest;
进口以;
进口java.util.Arrays;
进口javax.crypto.Cipher;
关键=字符串(秘密).getBytes (“utf - 8”);
沙= MessageDigest.getInstance(算法);
关键= sha.digest(关键);
关键=数组。copyOf(关键、16);
obj。secretKey = javaObject (javax.crypto.spec。SecretKeySpec”键,“AES”);
obj。密码= . getinstance (“AES /欧洲/ PKCS5Padding”);
结束
函数加密=加密(obj strToEncrypt)
%加密该方法的总结
%的详细解释
进口java.util.Base64;
进口以;
进口javax.crypto.Cipher;
obj.cipher.init(密码。ENCRYPT_MODE obj.secretKey);
加密=字符串(Base64.getEncoder () .encodeToString (obj.cipher.doFinal (string (strToEncrypt) .getBytes (“utf - 8”))));
结束
函数加密= encryptStructuredData (obj structuredData)
加密= obj.encrypt (jsonencode (structuredData));
结束
解密函数= decryptStructuredData (obj encryptedStructuredData)
解密= jsondecode (obj.decrypt (encryptedStructuredData));
结束
解密函数=解密(obj strToDecrypt)
%解密该方法的总结
%的详细解释
进口javax.crypto.Cipher;
进口以;
进口java.util.Base64;
obj.cipher.init(密码。DECRYPT_MODE obj.secretKey);
解密=字符串(字符串(obj.cipher.doFinal (Base64.getDecoder () .decode (strToDecrypt))));
结束
结束
结束
2。加密和解密的例子
让我们来测试如果我们能够得到解密字符串加密的字符串。
secretKey = " ssshhhhhhhhhhh !”;
算法= " sha - 1”;
aes = aes (secretKey算法);
originalString = " howtodoinjava.com ";
encryptedString = aes.encrypt (originalString);
decryptedString = aes.decrypt (encryptedString);
disp (originalString);
disp (encryptedString);
disp (decryptedString);
输出:
howtodoinjava.com
Tg2Nn7wUZOQ6Xc + 1 lenkztq9zdf9a2 / RBRiqJBCIX6o =
howtodoinjava.com
Matlab结构使用以下功能:
- encryptStructuredData (structureToEncrypt)
- decryptStructuredData (encryptedStructure)
下面让我你的问题和评论。
快乐学习! !
引用作为
丹尼尔(2023)。Matlab AES加密解密的例子(//www.tianjin-qmedu.com/matlabcentral/fileexchange/73037-matlab-aes-encryption-decryption-example), MATLAB中央文件交换。检索。
版本 | 发表 | 发布说明 | |
---|---|---|---|
1.0.0 |