使用 AutoIt3 加密解密数据
1. 加密解密思路
AutoIt 自带加密库,可以通过它们将数据根据不同的加解密算法来加解密。需要理解如下概念
- 加解密 key
- 加解密算法
- 加密解密后的都为二进制的值,需要转换成 String 字符串
- 默认情况不支持除数字和英文字母以外的字母,可以通过转换支持其他语言
2. 加密代码
#include <Crypt.au3> ; 引入加密库
#include <MsgBoxConstants.au3> ;弹框组件
$sSourceData = "tom_32L233" ; 待加密数据
$sKey = "iamisakey" ; 加密用的 key
$algorithm = $CALG_RC4 ; 初始化算法 $CALG_RC4 是系统提供的算法
; 开始加密:使用系统提供的_Crypt_EncryptData 方法进行加密
$bEecrypted = _Crypt_EncryptData($sSourceData, $sKey, $algorithm)
MsgBox($MB_SYSTEMMODAL, 'Binary Eecrypted', $bEecrypted)
3. 解密代码
MsgBox($MB_SYSTEMMODAL, '开始解密', $bEecrypted)
;在解密方法中放入加密的字段,key,加密算法
$bDecrypted = _Crypt_DecryptData($bEecrypted, $sKey, $algorithm)
;默认解密的是binary
MsgBox($MB_SYSTEMMODAL, 'Binary Decrypted', $bDecrypted)
;使用 BinaryToString()方法转换成 String 数据
MsgBox($MB_SYSTEMMODAL, 'String Decrypted', BinaryToString($bDecrypted))
4. 完整源码
#include <Crypt.au3> ; 引入加密库
#include <MsgBoxConstants.au3> ;弹框组件
$sSourceData = "tom_32L233" ; 待加密数据
$sKey = "iamisakey" ; 加密用的 key
$algorithm = $CALG_RC4 ; 初始化算法 $CALG_RC4 是系统提供的算法
; 开始加密:使用系统提供的_Crypt_EncryptData 方法进行加密
$bEecrypted = _Crypt_EncryptData($sSourceData, $sKey, $algorithm)
MsgBox($MB_SYSTEMMODAL, 'Binary Eecrypted', $bEecrypted)
MsgBox($MB_SYSTEMMODAL, '开始解密', $bEecrypted)
$bDecrypted = _Crypt_DecryptData($bEecrypted, $sKey, $algorithm)
MsgBox($MB_SYSTEMMODAL, 'Binary Decrypted', $bDecrypted)
MsgBox($MB_SYSTEMMODAL, 'String Decrypted', BinaryToString($bDecrypted))