Function Reference

_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 [オプション]暗号化/復号化のレベル。デフォルト=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