RC4ベースの文字列暗号化関数。
#Include <String.au3>
_StringEncrypt($i_Encrypt, $s_EncryptText, $s_EncryptPassword [, $i_EncryptLevel = 1])
パラメータ
$i_Encrypt | 1で暗号化、0で復号化。 |
$s_EncryptText | 暗号化/復号化するテキスト。 |
$s_EncryptPassword | 暗号化/復号化で使用するパスワード。 |
$i_EncryptLevel | [オプション]暗号化/復号化のレベル。デフォルト=1 |
返し値
成功: | 暗号化/復号化された文字列。 |
失敗: | 1 |
注意
警告: 暗号化レベルが高すぎる場合、暗号化文字列が長すぎる場合、この関数の処理には非常に長い時間がかかります!
関連
例
#include <GuiConstantsEx.au3>
#include <String.au3>
Opt("MustDeclareVars", 1)
_Main()
Func _Main()
Local $WinMain, $EditText, $InputPass, $InputLevel, $UpDownLevel, $EncryptButton, $DecryptButton, $string
; GUI と文字列変数
$WinMain = GUICreate('Encryption tool', 400, 400)
; ウィンドウ作成
$EditText = GUICtrlCreateEdit('', 5, 5, 380, 350)
; メインエディット作成
$InputPass = GUICtrlCreateInput('', 5, 360, 100, 20, 0x21)
; 隠蔽/中央揃え入力のパスワードボックス作成
$InputLevel = GUICtrlCreateInput(1, 110, 360, 50, 20, 0x2001)
$UpDownLevel = GUICtrlSetLimit(GUICtrlCreateUpdown($InputLevel), 10, 1)
; Up|Down機能でレベルを入力
$EncryptButton = GUICtrlCreateButton('Encrypt', 170, 360, 105, 35)
; 暗号化ボタン
$DecryptButton = GUICtrlCreateButton('Decrypt', 285, 360, 105, 35)
; 復号化ボタン
GUICtrlCreateLabel('Password', 5, 385)
GUICtrlCreateLabel('Level', 110, 385)
; なにがなにかわかるようにテキストラベル
GUISetState()
; ウィンドウ表示
While 1
Switch GUIGetMsg()
Case $GUI_EVENT_CLOSE
ExitLoop
Case $EncryptButton
GUISetState(@SW_DISABLE, $WinMain) ; 何も変更できないようにする
$string = GUICtrlRead($EditText) ; 後のためにエディットボックスを保存
GUICtrlSetData($EditText, 'Please wait while the text is Encrypted/Decrypted.') ; メッセージ表示
GUICtrlSetData($EditText, _StringEncrypt(1, $string, GUICtrlRead($InputPass), GUICtrlRead($InputLevel)))
; 符号化呼び出し。エディットボックスに暗号化された文字列を設定
; 1/0 で暗号化/復号化を指定して符号化開始
; 先ほどエディットボックスから保存した文字列を符号化する
; パスワードボックスとレベルボックスを読み込む
GUISetState(@SW_ENABLE, $WinMain) ; ウィンドウを元に戻す
Case $DecryptButton
GUISetState(@SW_DISABLE, $WinMain) ; 何も変更できないようにする
$string = GUICtrlRead($EditText) ; 後のためにエディットボックスを保存
GUICtrlSetData($EditText, 'Please wait while the text is Encrypted/Decrypted.') ; メッセージ表示
GUICtrlSetData($EditText, _StringEncrypt(0, $string, GUICtrlRead($InputPass), GUICtrlRead($InputLevel)))
; 符号化呼び出し。エディットボックスに暗号化された文字列を設定
; 1/0 で暗号化/復号化を指定して符号化開始
; 先ほどエディットボックスから保存した文字列を符号化する
; パスワードボックスとレベルボックスを読み込む
GUISetState(@SW_ENABLE, $WinMain) ; ウィンドウを元に戻す
EndSwitch
WEnd ; ウィンドウを閉じるまでループ
Exit
EndFunc ;==>_Main