![]() ![]() ![]() |
![]() |
|||||||||||||
![]() |
|||||||||||||
今回は、.NET Frameworkクラスライブラリを利用した「暗号」に関して、ざっと紹介したいと思います。 暗号は複雑な分野なので、アルゴリズムの詳細などのより詳しい情報が知りたい場合は 関連書籍などを参照してください。 まず、暗号に関するクラスは「System.Security.Cryptography」ネームスペース以下に まとめられています。 一般的な暗号や、ハッシュのアルゴリズムはほぼ網羅されています。 ・公開鍵方式:DSA、RSA ・秘密鍵方式:DES、TripleDES、Rijndael(AES)、RC2 ・Hashアルゴリズム:MD5、SHA1など 使い方は、.NET Frameworkクラスライブラリのほかのクラス同様、 インターフェイスをベースにしたオブジェクト指向で抽象化されています。 たとえば、暗号化/複合化の際のデータの受け渡しは、 「CryptoStream」というStreamクラスの派生クラスを利用します。 そのため、実際にデータが暗号化/復号化されている部分は、 一見すると単純なStreamへの書き込みのように見えます。 これまでC言語などで暗号化/復号化を行なっていた場合は多少とまどいますが、 慣れてしまうと、非常に使いやすくなっていると言えるでしょう。 以降では、共通鍵方式の暗号化/復号化の手順を簡単に説明 してゆきます。
.NET Frameworkクラスライブラリで暗号を扱うのはこれまでよりも敷居が低くなっていると思います。 いろいろなものに暗号をかけて遊んでみるのもよいでしょう (ただし、鍵を失くさないようにしてください……)。 |
|||||||||||||
前へ | ページトップへ | 次へ![]() |