接入系统与XX特色前置的通讯报文采用报文体MAC签名,签名用来识别来源的合法性和报文体是否遭篡改或破坏。MAC签名值生成的步骤如下:
经过咨询同事,公司crypt库中有现成的MD5加密方法;
果断复用!!!
验证:将字符串“123456” 按标准md5算法 后应该是 E10ADC3949BA59ABBE56E057F20F883E
crypt库中与MD5相关的有3个:
验证1:-- 不一致
验证2: -- 一致可用
调用加密机SM4算法加解密数据
关键code
--对数据每两位进行字节压缩
--对压缩后的数据转为字节
--解码:获取的前16字节
--解码:获取的前17-32字节转为byte
给文件加密,我使用过很多种方法,最后还是感觉使用超级加密3000效果更好一些。
给文件加密时,只需在要加密的文件上单击鼠标右键,然后在弹出的菜单中选择超级加密选项就可以了。
解密的时候也只需双击已加密文件,然后输入正确的解密密码就可以了。
操作方法还是比较简便的,建议您自己可以操作试试。
实践证明,无法实现,依然可以用反编译编译出来。
目前我的做法是,编译后,用压缩工具比如UPX压缩,然后篡改文件头,算是简单加密。
应用时,用一个专门恢复文件头的程序进行解密,然后再执行正常程序。
当然了,所有程序都封装成Dll,中间有加密过程,也算是那啥,不过,要看你的程序值不值了。
function Ecrypt(Text)
return Text:gsub('.', function (c) return string.format ("%02X", (string.byte(c) + 13) % 256) end):gsub(" ", "+")
end
function decrypt(code)
return code:gsub('..', function(h)
return string.char((tonumber(h,16)+256-13)%256)
end)
end
c=Ecrypt("hello")
print(decrypt(c))
hello 5