使用 AutoIt3 加密解密数据

使用 AutoIt3 加密解密数据

1. 加密解密思路

AutoIt 自带加密库,可以通过它们将数据根据不同的加解密算法来加解密。需要理解如下概念

  1. 加解密 key
  2. 加解密算法
  3. 加密解密后的都为二进制的值,需要转换成 String 字符串
  4. 默认情况不支持除数字和英文字母以外的字母,可以通过转换支持其他语言

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))

posted @ 2020-07-10 16:52  vwa  阅读(1018)  评论(0编辑  收藏  举报