kk_lee69 发表于 2018-4-27 14:42:38

使用 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

afan 发表于 2018-4-27 14:48:03

先 StringToBinary

chzj589 发表于 2018-4-27 14:59:05

回复 1# kk_lee69

$str = "秦時明月漢時關123asdhesdsh是12345678901234567890.       "

862228699 发表于 2018-4-27 21:31:54

这几个字符还是没有问题的。。。

kk_lee69 发表于 2018-4-28 00:19:39

回复 3# chzj589

這樣的意思是 我還得去判斷跟 加入 空白嗎??

kk_lee69 发表于 2018-4-28 00:20:02

回复 4# 862228699


   上面不就是出問題了嗎??

kk_lee69 发表于 2018-4-28 00:29:55

回复 2# afan
    果然解決問題 感謝!!

lpxx 发表于 2018-4-28 23:14:33

$str = "秦時明月漢時關123asdhesdsh是12345678901234567890"
$crypt = _Crypt_EncryptData($str ,'securepassword')
ConsoleWrite("加密: " & $crypt & @LF)
$crypt = Hex($crypt)
$decrypt = _Crypt_DecryptData(Binary('0x' & $crypt)
ConsoleWrite("解密: " & BinaryToString($decrypt) & @LF)

kk_lee69 发表于 2018-4-29 03:22:58

回复 8# lpxx

我無法執行ㄟ

有其他解法嗎??你要表達的意思是??
页: [1]
查看完整版本: 使用 Crypt.au3 加解密 是否有长度限制??[已解决]