返回介绍

Function _StringEncrypt

发布于 2020-03-05 18:21:35 字数 2696 浏览 1149 评论 0 收藏 0

_StringEncrypt

RC4 字符串加密函数。

#include <string.au3>
_StringEncrypt ( $i_Encrypt, $s_EncryptText, $s_EncryptPassword [, $i_EncryptLevel ] )

参数

$i_Encrypt1 表示加密,0 表示解密。
$s_EncryptText用以加密/解密的文本。
$s_EncryptPassword用以加密/解密的密钥。
$i_EncryptLevel可选:加密/解密的级别。默认值 = 1

返回值

成功: 加密/解密后的字符串。
失败: 空字符串,并设置 @error = 1

注意

警告:若指定的加密级别或加密字符串过大则耗时将相当长!

相关

示例


#include <guiconstants.au3>
#include <string.au3>
; 包含 GUI 和 字符串 所需文件
$WinMain = GuiCreate('RC4 加密/解密工具', 400, 400)
; 创建窗口
$EditText = GuiCtrlCreateEdit('',5,5,380,350)
; 创建主编辑框
$InputPass = GuiCtrlCreateInput('',5,360,100,20, 0x21)
; 创建密码输入框
$InputLevel = GuiCtrlCreateInput(1, 110, 360, 50, 20, 0x2001)
$UpDownLevel = GUICtrlSetLimit(GuiCtrlCreateUpDown($inputlevel),10,1)
; 在级别输入框旁添加上下箭头控件
$EncryptButton = GuiCtrlCreateButton('加密', 170, 360, 105, 35)
; 加密按钮
$DecryptButton = GuiCtrlCreateButton('解密', 285, 360, 105, 35)
; 解密按钮
GUICtrlCreateLabel('密码', 5, 385)
GuiCtrlCreateLabel('级别',110,385)
; 全部都只是些简单的文本 label
GuiSetState()
; 显示窗口

Do
$Msg = GuiGetMsg()
If $msg = $EncryptButton Then
GuiSetState(@SW_DISABLE,$WinMain) ; 禁用窗口,以防用户作出其它更改
$string = GuiCtrlRead($EditText) ; 保存编辑框的内容
GUICtrlSetData($EditText,'正在加密/解密,请稍候。') ; 友好的提示消息
GuiCtrlSetData($EditText,_StringEncrypt(1,$string,GuiCtrlRead($InputPass),GuiCtrlRead($InputLevel)))
; 调用加密函数。把编辑框的数据作为加密字符串使用
; 加密函数的第一个参数 1/0 表明了正在进行的是加密/解密
; 加密函数获得了我们从编辑框中保存的字符串
; 随后它将读取密码输入框的数据并读取级别输入框的内容
GuiSetState(@SW_ENABLE,$WinMain) ; 使窗口重新可用
EndIf
If $msg = $DecryptButton Then
GuiSetState(@SW_DISABLE,$WinMain) ; 禁用窗口,以防用户作出其它更改
$string = GuiCtrlRead($EditText) ; 保存编辑框的内容
GUICtrlSetData($EditText,'正在加密/解密,请稍候。') ; 友好的提示消息
GuiCtrlSetData($EditText,_StringEncrypt(0,$string,GuiCtrlRead($InputPass),GuiCtrlRead($InputLevel)))
; 调用加密函数。把编辑框的数据作为加密字符串使用
; 加密函数的第一个参数 1/0 表明了正在进行的是加密/解密
; 加密函数获得了我们从编辑框中保存的字符串
; 随后它将读取密码输入框的数据并读取级别输入框的内容
GuiSetState(@SW_ENABLE,$WinMain) ; 使窗口重新可用
EndIf
Until $msg = $GUI_EVENT_CLOSE ; 继续执行循环,直到窗口被关闭为止

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文