public class Encryption {
private static final int[] encrypt = {2, 9, 3, 4, 6, 8, 1, 0};
private static final int[] decrypt = new int[8];
private static final int minLength = 10;
String encrypt (String password) {
if(password.length()<minLength) {
return password;
} else {
char[] arrayEncrypted = password.toCharArray();
for (int i = 0; i < encrypt.length; i++) {
arrayEncrypted[i] = (char) (arrayEncrypted[i]);
}
return String.valueOf(arrayEncrypted);
}
}
String decrypt (String password) {
if (password.length()<minLength) {
return password;
} else {
char[] arrayDecrypted = password.toCharArray();
for (int i = 0; i < arrayDecrypted.length; i++) {
arrayDecrypted[i] = (char) (arrayDecrypted[i]);
}
return String.valueOf(arrayDecrypted);
}
}
boolean isValidLength (String password) {
if (password.length()<minLength) {
return true;
} else {
return false;
}
}
int getMinLength(){
return minLength;
}
}
このプログラムは、古典的な置換関数を使用してデータを暗号化することを想定しています。暗号化クラスで使用される暗号化関数は、(2,9,3,4,6,8,1,0)のみです。暗号化プログラムの文字列のインデックスを変更
パスワードの各文字は、順列に従って新しいインデックスに移動されます。順列では2の直後に9が続くので、パスワードのインデックス2の文字をインデックス9に再割り当てする必要があります。同様に、インデックス9の文字はインデックス3に再割り当てする必要があります。最後の再割り当てでは、元のインデックス0の文字をインデックス2に配置してサイクルを完了します。
私のプログラムは非常にオフであるため、ちょうど確認します。以下は、コンパイル時のように見えるものの写真です。
5と7はどうなりましたか? –
彼はリストでそれらを使用するように私に言わなかった。 –
宿題タグは公式に推奨されていません:http://meta.stackexchange.com/questions/147100/the-homework-tag-is-now-officially-deprecated –