使用 Crypt.au3 加解密 是否有长度限制??[已解决]
本帖最后由 kk_lee69 于 2018-4-28 00:30 编辑使用 Crypt.au3 加解密 是否有长度限制??
为什么 我加密后 在解开密码两个字符串不一样呢??
是有长度限制吗??
原本是: 秦時明月漢時關123asdhesdsh是12345678901234567890
解密後: 秦時明月漢時關123asdhesdsh是123456789012
#include <Crypt.au3>
Example()
Func Example()
$str = "秦時明月漢時關123asdhesdsh是12345678901234567890"
; 使用一個通用密碼加密文本.
Local $sEncrypted = StringEncrypt(True, $str, 'securepassword')
; 顯示加密後的文本.
;MsgBox(0, '', $sEncrypted)
ConsoleWrite($sEncrypted&@CRLF)
; 使用通用密碼解密加密的文本.
Local $sDecrypted = StringEncrypt(False, $sEncrypted, 'securepassword')
ConsoleWrite($sDecrypted&@CRLF)
; 顯示解密的文本.
;MsgBox(0, '', $sDecrypted)
EndFunc ;==>Example
Func StringEncrypt($bEncrypt, $sData, $sPassword)
_Crypt_Startup() ; 啟動 Crypt 庫.
Local $sReturn = ''
If $bEncrypt Then ; 如果該標誌設置為 True 則加密, 否則為解密.
$sReturn = _Crypt_EncryptData($sData, $sPassword, $CALG_RC4)
Else
$sReturn = BinaryToString(_Crypt_DecryptData($sData, $sPassword, $CALG_RC4))
EndIf
_Crypt_Shutdown() ; 關閉 crypt 庫.
Return $sReturn
EndFunc ;==>StringEncrypt
先 StringToBinary 回复 1# kk_lee69
$str = "秦時明月漢時關123asdhesdsh是12345678901234567890. " 这几个字符还是没有问题的。。。 回复 3# chzj589
這樣的意思是 我還得去判斷跟 加入 空白嗎?? 回复 4# 862228699
上面不就是出問題了嗎?? 回复 2# afan
果然解決問題 感謝!! $str = "秦時明月漢時關123asdhesdsh是12345678901234567890"
$crypt = _Crypt_EncryptData($str ,'securepassword')
ConsoleWrite("加密: " & $crypt & @LF)
$crypt = Hex($crypt)
$decrypt = _Crypt_DecryptData(Binary('0x' & $crypt)
ConsoleWrite("解密: " & BinaryToString($decrypt) & @LF) 回复 8# lpxx
我無法執行ㄟ
有其他解法嗎??你要表達的意思是??
页:
[1]