カスタムの文字列暗号化
文字列の暗号化 フェーズで検出された文字列を処理するとき、独自の暗号化アルゴリズムを使用するように PreEmptive Protection™ DashO™ for Android & Java を構成できます。 実装は、単純にでも複雑にでも望みどおりにできます。 ただし、長時間実行される復号メソッドは結局、アプリケーションの速度を低下させるということを覚えておいてください。
この処理には Encryption(暗号化)と Decryption(復号)の 2 つの部分があります。 暗号化メソッドは、DashO がプロジェクトを処理するときに使用されます。 暗号化のクラスとメソッドは、別個の jar にパッケージ化し、プロジェクトから使えるように構成する必要があります。 復号メソッドは、アプリケーションと一緒にパッケージ化されます。 復号のクラスとメソッドは、プロジェクトの入力の一部であり、プロジェクトから使えるように構成する必要があります。
Encryption
暗号化アルゴリズムは public static メソッドである必要があります。プレーン テキストの単一の文字列を引数として取り、鍵と暗号文の 2 つの null でない文字列の配列を返さなければなりません。
public static String[] encrypt (String plainText) {
String key = {好きなように決定します};
String cipherText = {好きなように作成します};
return new String[]{key,cipherText};//順序が重要です!
}
Decryption
復号アルゴリズムは public static メソッドである必要があります。鍵と暗号文の 2 つの文字列を引数として取り、プレーン テキストの null でない文字列を 1 つ返さなければなりません。 暗号化メソッドで作成された暗号文を正しく復号できる必要があります。
public static String decrypt (String key, String cipherText) {
String plainText = {好きなように決定します};
return plainText;
}
メモ:
復号クラスは、名前変更されて難読化されますが、カスタムの文字列暗号化からは除外されます。 復号クラスが入力内の他のクラスを使用している場合は、実行時に無限再帰的な呼び出しが発生しないように、それらを文字列の暗号化対象から手作業で除外する必要があるかもしれません。
対象選択
DashO GUI の Custom Encryption - Include ページを使用すると、カスタムの文字列暗号化で保護されるアプリケーションの部分を制御できます。 この目的のために、メソッド、クラス、および/またはパッケージを選択する規則を定義できます。 文字列の暗号から除外されるクラスやメソッドは、 カスタムの文字列暗号化では保護されません。 この GUI ページに何も含まれていなければ、カスタムの文字列暗号化は実際に使用されないことに注意してください。