メインコンテンツまでスキップ
バージョン:23.4

テキストの暗号化

スクリプトでパスワードや他のセンシティブなテキストを送信する必要があり、プレーンテキストとして情報を渡したくない場合は、これらのSenseTalkコマンドと関数を使用します。暗号化キーは、Eggplant Functionalによってスイートごとに生成されます。ASCII文字を使用して自分自身のキーを入力することも、別のEggplant Functionalスイートからキーを入力することもできます。

Tech Talk

これらのコマンドと関数で使用される暗号化方法は、Vigenère cypherに基づいています。暗号化の強度は大部分がキーの強度に基づいています。ランダムな文字を持つ長いキーが望ましいです。

Eggplant Functionalによって生成されるキーは、16のランダムな文字の長さです。キーはスイートのSettingsタブのSuite Text Encoding Keyセクションで見つけることができます。

異なるスイート間でスクリプトを使用する場合は、Settingsタブでキーを変更して、異なるスイートが同じキーを使用するようにすることができます。コマンドまたは関数でキーを指定しない場合、スイートのキーが使用されます。

DecodeText Function

動作: EncodeTextを使用してエンコードされたテキストをデコードします。テキストを適切にデコードするためには、関数はテキストをエンコードするために使用された同じキーを受け取る必要があります。

パラメータ: デコードするテキスト。暗号解読に使用するオプションのキー。キーのパラメータが省略された場合、関数はスイートのエンコーディングキーを使用します。

構文:

DecodeText( encodedString {, keyToUse} )

例:

log DecodeText("FA4gp+6RO-N>")

例:

connect {host:"192.168.120.128", port:5900, password:decodeText("ITOTnmIRa","B^6)n2+Q")} //SUTのパスワードの実際の値の代わりに暗号化された値を表示することができます

例:

set myDB to {type:"odbc", DSN:"mySQLDB", user:"root", password:decodetext("%s_z*A?>Z")} //データベース接続の実際のパスワードの代わりに暗号化された値を表示することができます。
先端

スクリプトを変更することなく、簡単に復号化された文字列を確認するために、Ad Hoc Do BoxDecodeText関数を使用します。

関連:

EncodeText Function

動作: 暗号化キーを使用してテキストをエンコードします。

パラメータ: エンコードするテキスト。暗号化に使用するオプションのキー。キーのパラメータが省略された場合、関数はスイートのエンコーディングキーを使用します。

構文:

EncodeText( plainTextString {, keyToUse} )

例:

log encodeText("password1234")

例:

put encodeText("eggplant", "B^6)n2+Q")
先端

スクリプトを変更することなく、簡単に暗号化された文字列を取得するために、Ad Hoc Do BoxEncodeText関数を使用します。

関連:

TypeEncodedText Command

動作: DecodeTextと同様に内部でエンコードされたテキストをデコードし、その結果のキーストロークをSUTに送信します。このコマンドを使用すると、スクリプトファイルで読み取れない情報(パスワードなど)を送信できます。

注記

Eggplant Functionalはデコードされたテキストをログに記録したり、他の形で記録したりはしません。

パラメータ: エンコードされたテキスト文字列。暗号化に使用するオプションのキー。キーパラメータが省略された場合、関数はスイートのエンコーディングキーを使用します。

構文:

TypeEncodedText encodedString {, specificKey}

例:

TypeEncodedText "FA4gp+6RO-N>" //エンコードされたテキストをSUTに送信します

例:

params decryptkey //スクリプトをパラメータ化して、スクリプトの実行をコマンドライン呼び出しを通じて受け取ります。例の復号化キー:"pegasus"
assert that decryptkey is not empty with message "Check that a decryption key has been provided." //コマンドライン呼び出しを介して復号化キーが提供されたことを確認し、もし提供されていない場合は例外をスローします。
Log "Typing the password now."
TypeEncodedText "VMOR`Wbe",decryptkey

テックトーク

このようなコードを使用して、外部ファイル(Excel)から暗号化キーと認証情報を読み込みます。すべての保存されたパスワードが同じ暗号化キーを使用して暗号化されていることを前提とします。

set infoSource to Workbook(ResourcePath("KeySaver.xlsx"))
put worksheet(infoSource, 1) into Sheet1
put worksheet(infoSource, 2) into Sheet2

put cell(Sheet1, "A1") into encryptKey // 暗号化キーを変数に格納します
Put random(20) into UserNum // ファイルからの20のユーザーの1つを選択するために使用される乱数を生成します
typetext(cell(Sheet2,"A"&UserNum)), tabKey // ユーザー名をタイプし、次のフィールドにタブします
Put cell(Sheet2,"B"&UserNum) into MyPass // 対応するユーザーの暗号化されたパスワードを変数に格納します
TypeEncodedText MyPass, encryptKey // パスワードの暗号化されていないキーストロークをSUTに送信します
Click "OK_Button"

関連: