~~~lua|woo
print('===json编码解码:===')
local r = { kl = 123 }
_out('输出数组:', r, '\n')
_out('输出json编码:', _json_encode(r), '\n')
print("===crc32:===" .. _crc32(_time()))
print("===md5:===" .. _md5(_time()))
print("===sha1:===" .. _sha1(_time()))
print('===base64编码解码:===',_base64_decode(_base64_encode(_time())))
~~~
# openssl加密解密
~~~lua|woo
print('===openssl加密解密:===')
local cipher = require(':cipher'):new()
-- 私钥生成
-- openssl genrsa -out rsa_private_key.pem 1024
local privateKey = [[
-----BEGIN RSA PRIVATE KEY-----
MIICWwIBAAKBgQDcGsUIIAINHfRTdMmgGwLrjzfMNSrtgIf4EGsNaYwmC1GjF/bM
h0Mcm10oLhNrKNYCTTQVGGIxuc5heKd1gOzb7bdTnCDPPZ7oV7p1B9Pud+6zPaco
qDz2M24vHFWYY2FbIIJh8fHhKcfXNXOLovdVBE7Zy682X1+R1lRK8D+vmQIDAQAB
AoGAeWAZvz1HZExca5k/hpbeqV+0+VtobMgwMs96+U53BpO/VRzl8Cu3CpNyb7HY
64L9YQ+J5QgpPhqkgIO0dMu/0RIXsmhvr2gcxmKObcqT3JQ6S4rjHTln49I2sYTz
7JEH4TcplKjSjHyq5MhHfA+CV2/AB2BO6G8limu7SheXuvECQQDwOpZrZDeTOOBk
z1vercawd+J9ll/FZYttnrWYTI1sSF1sNfZ7dUXPyYPQFZ0LQ1bhZGmWBZ6a6wd9
R+PKlmJvAkEA6o32c/WEXxW2zeh18sOO4wqUiBYq3L3hFObhcsUAY8jfykQefW8q
yPuuL02jLIajFWd0itjvIrzWnVmoUuXydwJAXGLrvllIVkIlah+lATprkypH3Gyc
YFnxCTNkOzIVoXMjGp6WMFylgIfLPZdSUiaPnxby1FNM7987fh7Lp/m12QJAK9iL
2JNtwkSR3p305oOuAz0oFORn8MnB+KFMRaMT9pNHWk0vke0lB1sc7ZTKyvkEJW0o
eQgic9DvIYzwDUcU8wJAIkKROzuzLi9AvLnLUrSdI6998lmeYO9x7pwZPukz3era
zncjRK3pbVkv0KrKfczuJiRlZ7dUzVO0b6QJr8TRAA==
-----END RSA PRIVATE KEY-----
]]
-- 公钥: 根据私钥生成
-- openssl rsa -in rsa_private_key.pem -pubout -out rsa_public_key.pem
local publicKey = [[
-----BEGIN PUBLIC KEY-----
MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDcGsUIIAINHfRTdMmgGwLrjzfM
NSrtgIf4EGsNaYwmC1GjF/bMh0Mcm10oLhNrKNYCTTQVGGIxuc5heKd1gOzb7bdT
nCDPPZ7oV7p1B9Pud+6zPacoqDz2M24vHFWYY2FbIIJh8fHhKcfXNXOLovdVBE7Z
y682X1+R1lRK8D+vmQIDAQAB
-----END PUBLIC KEY-----
]]
local isToBase64 = true -- true:把openssl加密结果转换为base64,false:返回字节集合
local rsaEnStr = cipher:rsaEncode("hello world!", publicKey, isToBase64)
print('openssl加密结果:', rsaEnStr)
local isFromBase64=true -- 解密时,待解密数据是否是base64明文,否则就是字节集数据
local isToString=true -- 表示是否把返回的数据转换为字符串,否则返回字节集
local rsaDeStr = cipher:rsaDecode(rsaEnStr, privateKey, isFromBase64,isToString)
print('openssl解密结果:', rsaDeStr)
~~~
>openssl加密结果: ZBHGTkdhkwSCUZAz3cPUb2tEoKNXjbYf9Tgij2X8Q5/7Mcs/X/RGTE7ElCtDyMAZczESdahmlDkk1RmDiAns/ShltZ4Woe7lnW5UiTy94Tk8jSS1ihDpKXjgU8VZVoysQlBW0SqbHZPBvsQrxNDzRpaRq/sJlL38ZX7xuuIz8yg=
openssl解密结果: hello world!
# AES加密解密
```lua|woo
print('===aes加密解密:===')
local encrypt_string = "hello world!"
local encrypt_psw = "这是密码"
local iv = nil -- 这个向量可忽略掉
local enStr = cipher:aesEncode(encrypt_string, encrypt_psw, iv)
print("aes加密结果", enStr)
local deStr = cipher:aesDecode(enStr, encrypt_psw, iv)
print("aes解密结果", deStr)
```
>aes加密结果 X/1AlrMTv2yVH98XbJ7UCw==
aes解密结果 hello world!
- 序言
- 安装
- 可视化编辑器
- woo 命令行参数详解
- 测试用例
- 简单http服务
- 正则
- gpio控制硬件设备
- 比武不招亲
- 和php比WebServer
- woo语法
- 语法简介
- 基本语法
- woo数据类型
- woo变量
- woo循环
- woo流程控制
- woo函数
- woo运算符
- woo字符串
- 类
- 类的继承
- 模块
- 数组
- 迭代
- table
- 元表(魔术方法)
- 错误处理
- 面向对象
- woo开发必须注意事项
- 函数/模块
- 内置函数
- webServer专属函数
- 内置模块
- gd-2d绘图库
- 2D图形例子
- websockets用例
- buffer缓存
- http
- orm数据库连接
- redis-ssdb连接
- queue队列
- 其他特别函数
- sockets
- 启动线程如何
- Murphy-http Web框架
- 简介
- 全局函数
- model
- view
- controller
- 消息队列
- 全局线程锁
- 包管理器/coder wooyri package manager
- 最ok的包上榜名单
- woo栗子
- 函数传参
- 编码解码
- http模块用例
- 移动读写文件流用例
- 文件下载用例
- 数组迭代
- 进制转换
- _choose用例
- 日期时间用例
- 注明
- wop 码包|coder wooyri peogram
- 码人激励计划