信息化管理系统 | 数字孪生 · 智慧园区 · 数字大屏 | App · 微信 · 小程序 | 元宇宙 · 区块链 · 3D展厅 | 虚拟仿真系统 | 新零售电商

游戏加密算法介绍(三)

那么当我们在品牌营销游戏开发的时候该如果的操作呢?让我们一起和九影网络一起看下去吧~

 

AES简介

高级加密标准(AES,Advanced Encryption Standard)为最常见的对称加密算法(微信小程序加密传输就是用这个加密算法的)。对称加密算法也就是加密和解密用相同的密钥,具体的加密流程如下图:

java后端AES对称加密算法实现测试类


AESTest.java

加密解密使用

public static void main(String args[]) throws Exception {

    String data = "123456";

    System.out.println("原文本:"+data);

    System.out.println("加密后文本:"+encryptAES("123456"));

    System.out.println("解密后文本:"+decryptAES(encryptAES("123456")));

}

结果:

JS版加密解密文件

aes.jshtml documentpad-zeropadding.js

JS调用部分代码

<!DOCTYPE html>

<html lang="en">

<head>

    <meta charset="UTF-8">

    <title>Title</title>

</head>

<body>

 

 

<script type="text/javascript" src="aes.js"></script>

<script type="text/javascript" src="pad-zeropadding.js"></script>

<script type="text/javascript">

    function encry() {

        var data = "123456";

        console.log("原文本:"+data);

        var key = CryptoJS.enc.Latin1.parse('abcdef0123456789');

        var iv = CryptoJS.enc.Latin1.parse('0123456789abcdef');

 

        //加密

        var encrypted = CryptoJS.AES.encrypt(data, key, {

            iv: iv,

            mode: CryptoJS.mode.CBC,

            padding: CryptoJS.pad.ZeroPadding

        });

        console.log("加密结果:"+encrypted.toString());

        console.log(encrypted.toString())

        //解密

        var decrypted = CryptoJS.AES.decrypt(encrypted, key, {iv: iv, padding: CryptoJS.pad.ZeroPadding});

        console.log(decrypted.toString(CryptoJS.enc.Utf8));

        console.log("解密结果:"+decrypted.toString(CryptoJS.enc.Utf8));

 

    }

 

</script>

<input type="button" value="测试" onclick="encry()">

</body>

</html>

 

JS调用显示结果

 

以上就可以实现后端与前端加密解密通信了

 

AES对称加密小字符串所需时间很短

AES加密各种大小文件时间列表

序号

原文件大小(M)

加密后文件大小(M)

加密用时(秒)

解密用时(秒)

1      

1.639

3.335

0

0

2      

3.278

6.669

0

1

3      

6.556

13.338

1

2

4      

13.111

26.676

3

5

5      

26.226

53.351

6

11

6      

52.441

106.701

12

23

7      

104.882

213.401

23

内存溢出(需要调整为按照字节去解析)

8      

209.763

426.801

47

内存溢出内存溢出(需要调整为按照字节去解析)

9      

839.051

1707.204

203

内存溢出内存溢出(需要调整为按照字节去解析)

10    

1048.813

2134.005

255

内存溢出内存溢出(需要调整为按照字节去解析)

 结论

1)       AES加密的时间与被加密文件的大小正线性增长,加密1G的文件大概需要4分多钟,加密速度还是很快的

2)       加密后的文件大小是原始文件大小的两倍

3)       解密文件所需时间是加密时间的两倍(这个应该是加密文件是原始文件大小两倍造成的)

 

那么品牌营销游戏开发哪家好?
   品牌营销游戏开发请找上海九影,九影网络专注“互动 · 游戏 · 营销 · 系统”开发10余年,提供:休闲娱乐游戏、教育教学游戏、互动对战游戏、微信/小程序、品牌营销H5、移动App、政企信息化系统、三维展览展示、元宇宙/ARVR体感体感等服务。
手机:15000568602(微信同号)