3DESで暗号化されたデータをC/C++で復号化したいのですが
可能でしょうか。
可能であれば、どのライブラリを使用し、どう組めば、よいか教えてください。
「可能か?」ということであれば、条件付きで可能でしょう。
libdesというモノがあるらしい。
3DESではないのでは?
というのでしたら「3DES」がどうやっているのか調べましょう。
とりあえず、検索してみただけなので実装方法などについては不明です。
「可能でしょうか」って聞いてくる人って
何が不可能だと思ってるんでしょうかね…
OpenSSL (http://www.openssl.org/) はいかが?
個人的な感想はこんな感じ。
- 実績が非常に高い。
- APIのドキュメントがヘボい。
- インストール(コンパイル)ドキュメントは丁寧。
- ちょいとデカい。3DESのみの暗号化/復号をするだけなら、鶏を割くに牛刀を用いるようなものかも。
# どーでもいいかもしれない豆知識:
# OpenSSLでは、暗号化も復号も*_encrype()といった関数で行います。
# どっちを行うかは引数次第。
# 以前、*_decrypt()はどこだと30分探し回ってしまいました。
MicorosftのCryptoAPIにも3DESの実装ありまっせ。
CryptAcquireContextでCSP取得して、
CryptGenKeyとかCryptDeriveKeyでキー作って
CryptDecryptで複合って感じです。
お手軽にやるならCOMでラップしたCAPICOMってのもあります。
ツイート | ![]() |