暗号合成ツール
序文
私たちのネットワーク情報セキュリティの実験。。。私たちは、それは少し時間がかかり、実際には、これは難しいことではありません、アルゴリズムのソースコードの様々なを見つけたいです。私は、インターネット上で見つけたコードを統合し、Javaが行われ、暗号化ツールを。これは、対称暗号化アルゴリズムが含まれているDES、AES、IDEA、公開暗号アルゴリズムRSA、ECC、ハッシュアルゴリズムMD5、SHA1、CRC32、およびRSA、DSA、ECDSAデジタル署名検証例。
一日中、少し痛みの頭蓋骨、肝臓のテストレポートを行うと書き込み日半の全体を、生きた10人の一部は、すべての私の肝臓を超えていました。
すべての暗号化アルゴリズムは、私は実行することができます見つけるのは難しいです。。その後、コール・インタフェースを変更し、そして最後にでBase64でエンコードが文字列として示した結果を、私は、各アルゴリズムは、暗号化と復号化を修正できることを保証することができますが、アルゴリズム自体の正しさを保証することはできません。
実験に使用しただけの小さなツール、非常に多くの例外やない人道的な場所無治療ので、必要とシークがあります。
gitのURLを
https://github.com/szluyu99/Encryption-And-Decryption-By-Yu
プロジェクト構造
プロジェクトのプレビュー
これは私が小さなデモを見た前に、彼らはメインインターフェイスにもたらしたとき、それを示して、航空ショーを感じます。
崩壊〜クリック
対称暗号 DES、DES2、中には、2つのDESアルゴリズムは、ソース、AES、IDEAの共感を実装表します。
公開暗号内側、RSA、RSA2は、二ソースRSAの実装を表します。ECC同様に、しかしECC3にかかわらず、行うことを忘れているように見えました。
ハッシュアルゴリズムは MD5、SHA1、CRC32が含まれています。withSalt
エクスプレス塩。
デジタル署名は、グラフィカルインターフェース上に置かれていないが、プロジェクトを実行することができますデモが含まれています。
ハッシュテーブル、その後採用rainbowcrackとMD5Crack3.0、UltraCrackingMachineといくつかの既製のソフトウェアをクラック、使いやすい、上がる場所がありません。。
このソフトウェアを終了した後organic'll。(ソフトウェアの各場合、私はいつも思います)
ノートの次の文字列とバイト[]システムの変換を追加します。
文字列とバイト[] Huzhuan
学習と文字列の相互変換のJavaのバイト配列の実施形態を使用することにより、変換が暗号化されたハッシュコードなどを生成する、そのようなIO動作として、多くの場合に必要とされるかもしれません。
一般的には、特別なニーズがない限り、お互いにそれらを変換していない、彼らは別のデータを表す、異なる目的のためのサービスを専門に通常String
のテキスト文字列を代表して、byte[]
バイナリデータのため。
ネットワークセキュリティ、暗号化の実験を行うには過去2日間では、ハッシュアルゴリズム、対称暗号、公開暗号を見つけるためにインターネットを統合した小さなツールを書きました。しかし、多くのオンラインアルゴリズムはでありbyte[]
、エンコードとデコード、私たちは表示のために便利ではない、表示するようにBase64で文字列に変換することができます。
String
クラス変換
文字列にバイト配列を変換するために、コンストラクタ文字列によって、文字列、バイト配列を変換するするString.getBytes()メソッドと
注:このメソッドは、プラットフォームのデフォルトの文字セットを使用しています
public class StringByteArrayExamples
{
public static void main(String[] args)
{
// String
String string = "hello world";
// String 转 byte[]
byte[] bytes = string.getBytes();
// byte[] 转 String
String s = new String(bytes);
System.out.println("Decoded String : " + s);
}
}
hello world
Base64
Huzhuan [JDK-8]
Base64
されたバイナリデータを符号化などの方法をUTF-8
、そしてUTF-16
あなたがテキストデータにバイナリデータをエンコードする必要があるので、場合、テキストを符号化されたデータと同じであり、それはBase64
このような要求を達成することができます。
Javaの8から使用することができBase64
、このクラスを。
import java.util.Base64;
public class StringByteArrayExamples
{
public static void main(String[] args)
{
// byte[]
byte[] bytes = "hello world".getBytes();
// byte[] 转 String
String encoded = Base64.getEncoder().encodeToString(bytes);
// String 转 byte[]
byte[] decoded = Base64.getDecoder().decode(encoded);
System.out.println( new String(decoded) );
}
}
hello world