关于_StringEncrypt加密问????很急!!
本帖最后由 pwover 于 2009-9-18 11:57 编辑#include <File.au3>
#include <string.au3>
#include <Process.au3>
#include "qqpswd.au3"
Opt("SendCapslockMode",0)
$title = "QQ用户登录"
If WinExists("QQ用户登录") Then
$qqpath = RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\TENCENT\QQ", "install")
Else
$qqpath = RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\TENCENT\QQ2009", "Install")
EndIf
If Not FileExists('qq.ini') Then
IniWrite("qq.ini", "setup", "qq", '')
IniWrite("qq.ini", "setup", "qqpath", $qqpath)
EndIf
$qqpath = IniRead('qq.ini', "setup", "qqpath", "0")
$qqhm = IniRead('qq.ini', "setup", "qq", "0")
If $qqhm = '0' Or $qqhm = '' Then
$qqhm = InputBox("QQ登录器", "请输入QQ号码:", "", "", "125", "125", "-1", "-1")
$qqmm = InputBox("QQ登录器", "请输入QQ密码:", "", "*", "125", "125", "-1", "-1")
$qqmm = _StringEncrypt(1, $qqmm, "107")
IniWrite("qq.ini", "setup", "qq", $qqhm)
IniWrite("qq.ini", $qqhm, "qqmm", $qqmm)
EndIf
$hm_n = StringSplit($qqhm, ",")
For $i = 1 To $hm_n
If $hm_n > 1 And $i > 1 Then
If MsgBox(4, "注意:", "您设置了多个QQ号码,是否继续登录QQ号:" & $hm_n[$i]) <> 6 Then Exit
EndIf
$qqhm = $hm_n[$i]
$qqmm = IniRead('qq.ini', $qqhm, 'qqmm', '0')
If $qqmm = '0' Or $qqmm = '' Then
$qqmm = InputBox($qqhm, "请输入QQ密码:" & '(' & $qqhm & ')', "", "*", "125", "125", "-1", "-1")
$qqmm = _StringEncrypt(1, $qqmm, "107")
IniWrite("qq.ini", $qqhm, "qqmm", $qqmm)
EndIf
$qqmm = _StringEncrypt(0, $qqmm, "107")
If Not FileExists($qqpath) Then $qqpth = findqq(@DesktopDir)
If Not FileExists($qqpath) Then $qqpth = findqq(@DesktopCommonDir)
If Not FileExists($qqpath) Then
MsgBox(0, '错误!', '请检查QQ.INI文件qqpath=' & $qqpath & @LF & '这一行QQ.EXE文件的路径设置是否正确!')
Exit
EndIf
If WinExists("QQ用户登录") Then
Run($qqpath & "qq.exe"" /START QQUIN:" & $qqhm & " PWDHASH:" & Str2QQPwdHash($qqmm) & " /START:40")
If WinWaitActive("请选择上网环境", '', 3) Then
ControlClick("请选择上网环境", '', "Button3")
ControlClick("请选择上网环境", '', "")
EndIf
Else
Run($qqpath & "\bin\QQ.exe")
WinWait("QQ2009")
WinWaitActive("QQ2009")
$XY = WinGetPos("QQ2009")
MouseClick("left", $XY + 215, $XY + 123)
Send($qqhm, 1)
MouseClick("left", $XY + 230, $XY + 154)
Send("{BS 18}")
Send($qqmm, 1)
MouseClick("left", $XY + 230, $XY + 154)
Send("{enter}")
EndIf
Next
;****************读取桌面快捷方式*******************ControlSend ( "QQ2009", 31928640, $qqhm [, 1] )
Func findqq($path)
$FileList = _FileListToArray($path, "*.lnk", 1)
If @error = 1 Then Return "err"
For $i = 1 To UBound($FileList) - 1
FileCopy($path & "\" & $FileList[$i], @TempDir & "\~qq.lnk")
$link = FileGetShortcut(@TempDir & "\~qq.lnk")
If @error Then Return "err"
If StringInStr($link, "qq.exe") Then Return $link
FileDelete(@TempDir & "\~qq.lnk")
Next
Return "err"
EndFunc ;==>findqq
以上这段代码没错啊可是就是加密的时候RC4加密错误了 用相同的方法解密后是乱码啊
有谁知道是出了什么问题啊
急等回复
谢谢 自己顶
那位大哥帮帮忙啊
我也不知道 哪里错了 怎么加密会错误啊 这个加密错误 如我要把123456加密可是这个加密后成了1832F9D6B85602E3B4882038
解密后是乱码 )?'H?雒鈨藘献甬ⴒ甬Ѵ
而正确的RC4加密123456后是18FA48177BE5C220743DE9F8
高手帮帮我啊
我真的 的 不知道哪里错了
能力有限不知道
高手 指点下吧 我还是没搞明白怎么我用_StringEncrypt这个函数 加密的时候出现乱码
我现在换了个加密函数一切正常了
那位高手可以解释下吗 _StringEncrypt这个函数我用错了吗 貌似不能用来着,用别的吧 http://www.autoitx.com/forum.php?mod=viewthread&tid=9575&page=1&fromuid=7644076#pid86606
换个udf,不要#Include <String.au3> _StringEncrypt
--------------------------------------------------------------------------------
一个基于 RC4 字符串加密的函数.
#Include <String.au3>
_StringEncrypt($i_Encrypt, $s_EncryptText, $s_EncryptPassword[, $i_EncryptLevel = 1])
参数
$i_Encrypt 1 为加密, 0 为解密.
$s_EncryptText 要加密/解密的文本.
$s_EncryptPassword 加密/解密使用的密码.
$i_EncryptLevel [可选参数]加密解密等级. 默认(Default) = 1
返回值
成功 返回加密/解密后的字符串.
失败 返回空白字符串并设置 @error = 1
注意/说明
警告: 这个函数会随着加密等级的提高,返回的字符串长度越长!
嘿嘿,多搜索吧 谢谢了:face (37): 我解密的时候是问号:face (30):
页:
[1]