## 功能模块介绍 1、main.lua:主程序入口; 2、crypto_app.lua:演示有关加解密的各种 API 的功能包含MD5,SHA,哈希(MD5,SHA),AES/DEC/3DES,CRC,checksum校验和; 3、logo.jpg:待加密文件 ## 演示功能概述 1、创建一个task; 2、演示有关加解密的各种 API 的功能; ## 演示硬件环境 ![](https://docs.openluat.com/air780epm/luatos/common/hwenv/image/Air780EPM2.png) 1、Air780EPM核心板一块 2、TYPE-C USB数据线一根 3、Air780EPM核心板和数据线的硬件接线方式为 - Air780EPM核心板通过TYPE-C USB口连接TYPE-C USB 数据线,数据线的另外一端连接电脑的USB口; - 核心板正面的 ON/OFF 拨动开关 拨到ON一端; ## 演示软件环境 1、[Luatools下载调试工具](https://docs.openluat.com/air780epm/luatos/common/download/) 2、[Air780EPM 最新版本的内核固件](https://docs.openluat.com/air780epm/luatos/firmware/version/) ## 演示核心步骤 1、搭建好硬件环境 2、Luatools烧录内核固件和demo脚本代码 3、烧录成功后,自动开机运行 4、出现类似于下面的日志,就表示运行成功: ``` lua [2025-10-16 15:00:32.204][000000000.203] I/user.main luatos_crypto_app 001.000.000 [2025-10-16 15:00:32.794][000000001.212] I/user.md5 900150983CD24FB0D6963F7D28E17F72 [2025-10-16 15:00:32.794][000000001.213] I/user.hmac_md5 416478FC0ACE1C4AB37F85F4F86A16B1 [2025-10-16 15:00:32.794][000000001.213] I/user.sha1 A9993E364706816ABA3E25717850C26C9CD0D89D [2025-10-16 15:00:32.805][000000001.214] I/user.hmac_sha1 DAE54822C0DAF6C115C97B0AD62C7BCBE9D5E6FC [2025-10-16 15:00:32.810][000000001.214] I/user.sha256 BA7816BF8F01CFEA414140DE5DAE2223B00361A396177A9CB410FF61F20015AD [2025-10-16 15:00:32.814][000000001.215] I/user.hmac_sha256 86055184805B4A466A7BE398FF4A7159F9055EA7EEF339FC94DCEC6F165898BA [2025-10-16 15:00:32.814][000000001.216] I/user.sha512 DDAF35A193617ABACC417349AE20413112E6FA4E89A97EA20A9EEEE64B55D39A2192992A274FC1A836BA3C23A3FEEBBD454D4423643CE80E2A9AC94FA54CA49F [2025-10-16 15:00:32.826][000000001.217] I/user.hmac_sha512 0F92B9AC88949E0BF7C9F1E6F9901BAB8EDFDC9E561DFDE428BC4339961A0569AD01B44343AA56E439949655D15C4D28492D459E75015489920243F3C9986F2A [2025-10-16 15:00:32.834][000000001.217] D/crypto zero padding [2025-10-16 15:00:32.842][000000001.218] I/user.AES aes-128-ecb 013EEA6EBACCBD7AD990FAEF75FB99C4 32 [2025-10-16 15:00:32.844][000000001.218] I/user.AES aes-128-ecb 023001 [2025-10-16 15:00:32.844][000000001.219] I/user.AES aes-128-ecb A37DE67837A1A3006E47A7BC25AA0ECC030B4E058E1972FE5B257FD8C3436142 64 [2025-10-16 15:00:32.858][000000001.219] I/user.AES aes-128-cbc 26D98EA512AE92BC487536B83F2BE99B467649A9700338F4B4FF75AA2654DD2C 64 [2025-10-16 15:00:32.864][000000001.220] I/user.AES aes-128-ecb 12345678901234 > 123456 [2025-10-16 15:00:32.864][000000001.220] I/user.AES aes-128-cbc 12345678901234 > 123456 [2025-10-16 15:00:32.874][000000001.220] I/user.mem 2376584 49564 58880 [2025-10-16 15:00:32.884][000000001.221] I/user.des 486CB8B81CACCDB7 16 [2025-10-16 15:00:32.889][000000001.221] I/user.des abcdefg [2025-10-16 15:00:32.894][000000001.222] I/user.3des 14619F067B425995D0CD975B85491D98 32 [2025-10-16 15:00:32.894][000000001.223] I/user.3des abcdefg!!--ZZSS [2025-10-16 15:00:32.894][000000001.223] I/user.crc16 54188 [2025-10-16 15:00:32.905][000000001.224] I/user.crc16 54188 [2025-10-16 15:00:32.905][000000001.224] I/user.crc16 54188 [2025-10-16 15:00:32.914][000000001.224] I/user.crc32 21438764 [2025-10-16 15:00:32.914][000000001.225] I/user.crc32 21438764 [2025-10-16 15:00:32.924][000000001.225] I/user.crc8 197 [2025-10-16 15:00:32.924][000000001.225] I/user.crc8 243 [2025-10-16 15:00:32.937][000000001.226] I/user.crc7 50 32 [2025-10-16 15:00:32.937][000000001.226] I/user.随机数测试 [2025-10-16 15:00:32.944][000000001.334] I/user.crypto 真随机数 -939521674 5 [2025-10-16 15:00:33.016][000000001.434] I/user.crypto 真随机数 -1872085296 5 [2025-10-16 15:00:33.111][000000001.534] I/user.crypto 真随机数 517455164 5 [2025-10-16 15:00:33.223][000000001.634] I/user.crypto 真随机数 657132096 5 [2025-10-16 15:00:33.311][000000001.734] I/user.crypto 真随机数 -1080191914 5 [2025-10-16 15:00:33.421][000000001.834] I/user.crypto 真随机数 -833578535 5 [2025-10-16 15:00:33.532][000000001.942] I/user.crypto 真随机数 420499958 5 [2025-10-16 15:00:33.626][000000002.042] I/user.crypto 真随机数 1233025030 5 [2025-10-16 15:00:33.720][000000002.142] I/user.crypto 真随机数 2138275442 5 [2025-10-16 15:00:33.830][000000002.242] I/user.crypto 真随机数 182791818 5 [2025-10-16 15:00:33.830][000000002.242] I/user.totp的密钥 [2025-10-16 15:00:33.830][000000002.243] I/user.totp 522113 19 29 37 [2025-10-16 15:00:33.830][000000002.244] I/user.totp 964300 19 30 7 [2025-10-16 15:00:33.830][000000002.245] I/user.totp 987714 19 30 37 [2025-10-16 15:00:33.830][000000002.246] I/user.totp 037499 19 31 7 [2025-10-16 15:00:33.830][000000002.246] I/user.totp 699697 19 31 37 [2025-10-16 15:00:33.830][000000002.247] I/user.totp 548191 19 32 7 [2025-10-16 15:00:33.845][000000002.248] I/user.totp 747517 19 32 37 [2025-10-16 15:00:33.845][000000002.249] I/user.totp 243319 19 33 7 [2025-10-16 15:00:33.861][000000002.249] I/user.totp 147474 19 33 37 [2025-10-16 15:00:33.877][000000002.250] I/user.totp 039992 19 34 7 [2025-10-16 15:00:33.877][000000002.251] I/user.totp 628512 19 34 37 [2025-10-16 15:00:33.877][000000002.252] I/user.totp 529018 19 35 7 [2025-10-16 15:00:33.892][000000002.253] I/user.totp 994006 19 35 37 [2025-10-16 15:00:33.892][000000002.253] I/user.totp 851359 19 36 7 [2025-10-16 15:00:33.907][000000002.254] I/user.totp 943237 19 36 37 [2025-10-16 15:00:33.908][000000002.255] I/user.totp 410702 19 37 7 [2025-10-16 15:00:33.908][000000002.256] I/user.totp 082993 19 37 37 [2025-10-16 15:00:33.908][000000002.256] I/user.totp 193281 19 38 7 [2025-10-16 15:00:33.908][000000002.257] I/user.totp 781573 19 38 37 [2025-10-16 15:00:33.924][000000002.258] I/user.totp 243288 19 39 7 [2025-10-16 15:00:33.924][000000002.258] I/user.base64 encode MTIz [2025-10-16 15:00:33.924][000000002.259] I/user.base64 decode MTIz 123 [2025-10-16 15:00:33.924][000000002.260] I/user.cipher list ["AES-128-ECB","AES-192-ECB","AES-256-ECB","AES-128-CBC","AES-192-CBC","AES-256-CBC","AES-128-CTR","AES-192-CTR","AES-256-CTR","AES-128-GCM","AES-192-GCM","AES-256-GCM","AES-128-CCM","AES-192-CCM","AES-256-CCM","DES-ECB","DES-EDE-ECB","DES-EDE3-ECB","DES-CBC","DES-EDE-CBC","DES-EDE3-CBC"] [2025-10-16 15:00:33.939][000000002.266] I/user.cipher suites [2025-10-16 15:00:33.939][000000002.266] ["TLS-ECDHE-ECDSA-WITH-AES-256-GCM-SHA384","TLS-ECDHE-RSA-WITH-AES-256-GCM-SHA384","TLS-ECDHE-ECDSA-WITH-AES-256-CCM","TLS-ECDHE-ECDSA-WITH-AES-256-CBC-SHA384","TLS-ECDHE-RSA-WITH-AES-256-CBC-SHA384","TLS-ECDHE-ECDSA-WITH-AES-256-CBC-SHA","TLS-ECDHE-RSA-WITH-AES-256-CBC-SHA","TLS-ECDHE-ECDSA-WITH-AES-256-CCM-8","TLS-ECDHE-ECDSA-WITH-AES-128-GCM-SHA256","TLS-ECDHE-RSA-WITH-AES-128-GCM-SHA256","TLS-ECDHE-ECDSA-WITH-AES-128-CCM","TLS-ECDHE-ECDSA-WITH-AES-128-CBC-SHA256","TLS-ECDHE-RSA-WITH-AES-128-CBC-SHA256","TLS-ECDHE-ECDSA-WITH-AES-128-CBC-SHA","TLS-ECDHE-RSA-WITH-AES-128-CBC-SHA","TLS-ECDHE-ECDSA-WITH-AES-128-CCM-8","TLS-RSA-WITH-AES-256-GCM-SHA384","TLS-RSA-WITH-AES-256-CCM","TLS-RSA-WITH-AES-256-CBC-SHA256","TLS-RSA-WITH-AES-256-CBC-SHA","TLS-RSA-WITH-AES-256-CCM-8","TLS-RSA-WITH-AES-128-GCM-SHA256","TLS-RSA-WITH-AES-128-CCM","TLS-RSA-WITH-AES-128-CBC-SHA256","TLS-RSA-WITH-AES-128-CBC-SHA","TLS-RSA-WITH-AES-128-CCM-8","TLS-RSA-PSK-WITH-AES-256-GCM-SHA384","TLS-RSA-PSK-WITH-AES-256-CBC-SHA384","TLS-RSA-PSK-WITH-AES-256-CBC-SHA","TLS-RSA-PSK-WITH-AES-128-GCM-SHA256","TLS-RSA-PSK-WITH-AES-128-CBC-SHA256","TLS-RSA-PSK-WITH-AES-128-CBC-SHA","TLS-PSK-WITH-AES-256-GCM-SHA384","TLS-PSK-WITH-AES-256-CCM","TLS-PSK-WITH-AES-256-CBC-SHA384","TLS-PSK-WITH-AES-256-CBC-SHA","TLS-PSK-WITH-AES-256-CCM-8","TLS-PSK-WITH-AES-128-GCM-SHA256","TLS-PSK-WITH-AES-128-CCM","TLS-PSK-WITH-AES-128-CBC-SHA256","TLS-PSK-WITH-AES-128-CBC-SHA","TLS-PSK-WITH-AES-128-CCM-8"] [2025-10-16 15:00:33.955][000000002.266] I/user.文件hash值测试 [2025-10-16 15:00:33.955][000000002.269] I/user.md5 D364D04CCD734D2757B25F3216CC431B [2025-10-16 15:00:33.955][000000002.273] I/user.sha1 04DA64874D415B1FB9CDD2E89927397D8F48C441 [2025-10-16 15:00:33.955][000000002.284] I/user.sha256 0C601722B4BD2BC1A76BC3701F4EB646F5119C31702852978C326CD8D7C9212C [2025-10-16 15:00:33.955][000000002.287] I/user.hmac_md5 B5F5A687DB904DB67D3311899932DD61 [2025-10-16 15:00:33.955][000000002.290] I/user.hmac_sha1 2A0B55C290D54ADF2F185EAE460254D267C7CE1F [2025-10-16 15:00:33.971][000000002.301] I/user.hmac_sha256 6E443C84D4D7A4721A9A195EB9038EDCFA8A8F60A3F1E8A0090B57B3BAB4942E [2025-10-16 15:00:33.971][000000002.301] I/user.md5 [2025-10-16 15:00:33.971][000000002.302] I/user.sha1 [2025-10-16 15:00:33.971][000000002.302] I/user.sha256 [2025-10-16 15:00:33.971][000000002.303] I/user.hmac_md5 [2025-10-16 15:00:33.971][000000002.303] I/user.hmac_sha1 [2025-10-16 15:00:33.971][000000002.304] I/user.hmac_sha256 [2025-10-16 15:00:33.971][000000002.304] I/user.流式hash测试 [2025-10-16 15:00:33.986][000000002.304] I/user.md5_stream F5BF3E984432AE6F9F98840951E5CEF3 [2025-10-16 15:00:33.986][000000002.305] I/user.md5 F5BF3E984432AE6F9F98840951E5CEF3 [2025-10-16 15:00:33.986][000000002.306] I/user.hmac_md5_stream 45527D9407615C3A44F475BB7172752A [2025-10-16 15:00:33.986][000000002.306] I/user.hmac_md5 45527D9407615C3A44F475BB7172752A [2025-10-16 15:00:33.986][000000002.307] I/user.sha1_stream C61A2C245CB07A04482CE5B662AE67DBDBE010DB [2025-10-16 15:00:33.986][000000002.307] I/user.sha1 C61A2C245CB07A04482CE5B662AE67DBDBE010DB [2025-10-16 15:00:33.986][000000002.308] I/user.hmac_sha1_stream 88471065B8C5F64057418A0A58353A46E7841DE7 [2025-10-16 15:00:33.986][000000002.308] I/user.hmac_sha1 88471065B8C5F64057418A0A58353A46E7841DE7 [2025-10-16 15:00:34.002][000000002.309] I/user.sha256_stream A4EBDD541454B84CC670C9F1F5508BAF67FFD3FE59B883267808781F992A0B1D [2025-10-16 15:00:34.002][000000002.309] I/user.sha256 A4EBDD541454B84CC670C9F1F5508BAF67FFD3FE59B883267808781F992A0B1D [2025-10-16 15:00:34.002][000000002.310] I/user.hmac_sha256_stream EAF715932F064E462893B7FE04442E2C25ECF2F7C560820A648D0D94BEAEB581 [2025-10-16 15:00:34.007][000000002.311] I/user.hmac_sha256 EAF715932F064E462893B7FE04442E2C25ECF2F7C560820A648D0D94BEAEB581 [2025-10-16 15:00:34.007][000000002.311] I/user.sha512_stream 3A8529D8F0C7B1AD2FA54C944952829B718D5BEB4FF9BA8F4A849E02FE9A272DAF59AE3BD06DDE6F01DF863D87C8BA4AB016AC576B59A19078C26D8DBE63F79E [2025-10-16 15:00:34.007][000000002.312] I/user.sha512 3A8529D8F0C7B1AD2FA54C944952829B718D5BEB4FF9BA8F4A849E02FE9A272DAF59AE3BD06DDE6F01DF863D87C8BA4AB016AC576B59A19078C26D8DBE63F79E [2025-10-16 15:00:34.007][000000002.313] I/user.hmac_sha512_stream 18F74340A0048090521796F52A66A45B77AF5981512951B938BFCB026F2D6ED7945B0682731E4E7E3CA72021E5E8AB9810769E48C83F440DC73D6C942215E29E [2025-10-16 15:00:34.018][000000002.314] I/user.hmac_sha512 18F74340A0048090521796F52A66A45B77AF5981512951B938BFCB026F2D6ED7945B0682731E4E7E3CA72021E5E8AB9810769E48C83F440DC73D6C942215E29E [2025-10-16 15:00:34.018][000000002.315] I/user.checksum OK 04 2 [2025-10-16 15:00:34.018][000000002.315] I/user.checksum 357E E4 2 [2025-10-16 15:00:34.018][000000002.315] I/user.crypto ALL Done ```