[已解决]_Crypt_EncryptData加密后的字符串写入文本文件就变成乱码
本帖最后由 smooth 于 2015-5-11 16:28 编辑$bEncrypted输出正常,但是写入文本文件就变成了乱码。
16 = 强制使用二进制(字节)模式(参考注意)
32 = 使用 Unicode UTF16 小编码读写模式,读取不会覆盖存在的BOM.
64 = 使用 Unicode UTF16 大编码读写模式,读取不会覆盖存在的BOM.
128 = 使用 Unicode UTF8 (带BOM)读写模式,读取不会覆盖存在的BOM.
256 = 使用 Unicode UTF8 (无BOM)读写模式.
16384 = 当打开一个文件读取时(文件没有BOM), 使用完整文件 UTF8 检测. 如果没有使用这一模式,则只会检测文件最前端的 UTF8 标志.
文件夹路径必须存在(如果没有指定模式 '8' - 见注释).
这些参数我都试过了,写入全部都变成乱码,这是咋回事呢?谢谢!
#include <Crypt.au3>
Local Const $sUserKey = "WDZnn" ;
Local $sData = "44-8A-5B-62-65-8A" ;
Local $bEncrypted = _Crypt_EncryptData($sData, $sUserKey, $CALG_RC4)
MsgBox(0,0,$bEncrypted)
Local $hFiles = FileOpen(@ScriptDir & "\RegInfo.txt", 2)
FileWrite($hFiles, $bEncrypted)
FileClose($hFiles)
#include <Crypt.au3>
Local Const $sUserKey = "WDZnn" ;
Local $sData = "44-8A-5B-62-65-8A" ;
Local $bEncrypted = _Crypt_EncryptData($sData, $sUserKey, $CALG_RC4)
MsgBox(0,0,$bEncrypted)
Local $hFiles = FileOpen(@ScriptDir & "\RegInfo.txt", 256+1)
FileWrite($hFiles, $bEncrypted)
FileClose($hFiles)
Local $hFiles = FileOpen(@ScriptDir & "\RegInfo.txt", 256+1)
这样就可以解决问题。具体的参看教程。我也不懂 #include <Crypt.au3>
Local Const $sUserKey = "WDZnn" ;
Local $sData = "44-8A-5B-62-65-8A" ;
Local $bEncrypted = _Crypt_EncryptData($sData, $sUserKey, $CALG_RC4)
MsgBox(0,0,$bEncrypted)
Local $hFiles = FileOpen(@ScriptDir & "\RegInfo.txt", 256+1)
FileWrite($hFiles, $bEncrypted)
FileClose($hFiles)
Local $hFiles = FileOpen(@ScriptDir & "\RegInfo.txt", 256+1)
这样就可以解决问题。具体的参看教程。我也不懂 刚才的不对,我的试验环境和你的有区别。实际测试,需要这样
Local $hFiles = FileOpen(@ScriptDir & "\RegInfo.txt",2)
FileWrite($hFiles,$bEncrypted&@CRLF)
重点是$bEncrypted&@CRLF 回复 4# xyx115
按你说的就成了,不知道这是为什么。谢谢! 路过留下脚印
页:
[1]