找回密码  加入

AUTOIT CN

搜索
查看: 172|回复: 7

[AU3基础] 【已解决】_Crypt_EncryptData加密解密和结果复制到内存不同。测试了很多,没找....

[复制链接]
发表于 2018-12-29 20:11:33 | 显示全部楼层 |阅读模式
本帖最后由 basc 于 2018-12-30 11:24 编辑

#include <Crypt.au3>
Global $key = "basc" ;;加密码
Global $str = "192.168.0.162"
_Crypt_Startup()
$hKey = _Crypt_DeriveKey($key, $CALG_AES_256)
$s = _Crypt_EncryptData($str, $hKey, $CALG_USERKEY)
ConsoleWrite("Encrypted: " & $s & @CRLF)
MsgBox(4096,"", $s)

$str = _Crypt_DecryptData($s, $hKey, $CALG_USERKEY)
$213 = BinaryToString($str)
MsgBox(4096," ", $213)


这加密的结果和我以下复制到内存的加密的结果不同


#include <ButtonConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <String.au3>
#include <Crypt.au3>
#include <Clipboard.au3>
#include <GuiMenu.au3>
#Region ### START Koda GUI section ### Form=C:\Users\basc\Desktop\gui.kxf
$Form1 = GUICreate("Form1", 394, 172, 261, 318)
$Input1 = GUICtrlCreateInput("输入需要加密的内容", 32, 16, 169, 21)
$Button1 = GUICtrlCreateButton("加密", 208, 16, 75, 25)

GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###

While 1
        $nMsg = GUIGetMsg()
        Switch $nMsg
                Case $GUI_EVENT_CLOSE
                        Exit
Case $Button1
                        Global $str = GUICtrlRead($Input1)
                        MsgBox(4096,"",$str)
                        Global $key = "basc" ;;加密码
_Crypt_Startup()
$hKey = _Crypt_DeriveKey($key, $CALG_AES_256)
$s = _Crypt_EncryptData($str, $hKey, $CALG_USERKEY)
                        _ClipBoard_SetData($s)
                        MsgBox(4096," ",$s)
        EndSwitch
WEnd

发表于 2018-12-29 20:39:44 | 显示全部楼层
是那里不同,看不出
 楼主| 发表于 2018-12-30 07:26:45 | 显示全部楼层
chzj589 发表于 2018-12-29 20:39
是那里不同,看不出

msgbox 出来的是0xC6A3E52CB06CB811A52B094DAB80D775
复制的是0xC6A3E52CB06CB8
发表于 2018-12-30 09:00:33 | 显示全部楼层
basc 发表于 2018-12-30 07:26
msgbox 出来的是0xC6A3E52CB06CB811A52B094DAB80D775
复制的是0xC6A3E52CB06CB8

Global $str = "192.168.0.162"
Global $str = GUICtrlRead($Input1)="输入需要加密的内容"
输入不一样,输出当然不一样
 楼主| 发表于 2018-12-30 11:22:49 | 显示全部楼层
chzj589 发表于 2018-12-30 09:00
Global $str = "192.168.0.162"
Global $str = GUICtrlRead($Input1)="输入需要加密的内容"
输入不一样 ...

Global $str = GUICtrlRead($Input1)="192.168.0.162"
结果是一样的,一样不同,问题不是出在加密上,而是复制到内存上。已经解决了
发表于 2018-12-30 12:00:12 | 显示全部楼层
basc 发表于 2018-12-30 11:22
Global $str = GUICtrlRead($Input1)="192.168.0.162"
结果是一样的,一样不同,问题不是出在加密上,而 ...

解决就好。加密后能返回原文吗?

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?加入

x
 楼主| 发表于 2018-12-30 12:05:27 | 显示全部楼层
chzj589 发表于 2018-12-30 12:00
解决就好。加密后能返回原文吗?

可以的,加密解密都可以,问题是在粘贴到内存出错了
发表于 2018-12-30 17:27:35 | 显示全部楼层
basc 发表于 2018-12-30 07:26
msgbox 出来的是0xC6A3E52CB06CB811A52B094DAB80D775
复制的是0xC6A3E52CB06CB8
  1. ClipPut($s)
复制代码
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|小黑屋|手机版|AUTOIT CN ( 鲁ICP备15028933号-3 )谷歌 百度

GMT+8, 2019-1-19 17:27 , Processed in 0.119848 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表