暗号化ツールのJava実装その積分アルゴリズム対称暗号DES、AES、IDEA、公開暗号アルゴリズムRSA、ECC、MD5、SHA1、CRC32、およびRSA、DSA、ECDSAデジタル署名の検証例アルゴリズムハッシュ。

序文

私たちのネットワーク情報セキュリティの実験。私たちは、それは少し時間がかかり、実際には、これは難しいことではありません、アルゴリズムのソースコードの様々なを見つけたいです。私は、インターネット上で見つけたコードを統合し、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

Base64Huzhuan [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
公開された171元の記事 ウォン称賛47 ビュー20000 +

おすすめ

転載: blog.csdn.net/weixin_43734095/article/details/105303562