• 締切済み

sha-1のプログラム

任意の値を入力すると、その値をSHA-1でハッシュ化するプログラミングを探しています。 色々とサイトはあるのですがエラー等が出てしまいます。例えば http://free.pjc.co.jp/SHA1/index.htmlのサイトは自分が求めているプログラムなのでしょうか?? 変更箇所があったりする場合、私はお手上げなのです・・・。 cygwinを使っているのでそのコマンド(コンパイルの仕方)も教えていただきたいです。よろしくお願いします。 ちなみにC言語で行っています。

みんなの回答

  • buriburi3
  • ベストアンサー率44% (353/792)
回答No.1

RFC3174にC言語での実装ソースがあります。 http://www.ipa.go.jp/security/rfc/RFC3174JA.html cygwinは使ってないのでコンパイルのやりかたは知りませんがVC++では問題なくコンパイルできました。

jonypopo
質問者

お礼

VC++では問題なくコンパイルできたというのは、実行すると上に書いたとおり任意の値をハッシュ化するプログラムということでしょうか?? 知識がなく申し訳ございません・・・

関連するQ&A

  • Access2000のVBAでSHA-256ハッシュ値を計算

    Access2000のVBA上で任意の値からSHA-256ハッシュ値を計算したいと考えています。 VB.netやPHPなど、他言語でのハッシュ値計算方法はWeb上でも探すことができたのですが Access2000のVBA上で行う方法が分かりません。 何とかしてハッシュ値を簡単に求める方法はないでしょうか。よろしくお願いいたします。

  • パスワードの決め方について(SHA3orHMAC)

    パスワードの決め方や保管の方法について、分からなくなってきたので基本から質問させてください。 1.パスワードをホームページ等でネットに公開したら危険ですか? 2.1.はただそのまま公開したら危険なのでやってはいけないと思いますが、暗号化して、パスワードのパスワードがないと解けない状態にして公開しておけば安全ですか? 3.2.の暗号化の手法として、暗号学的ハッシュ関数を用いて、ハッシュ値 h をパスワードにすれば、暗号化したパスワードを公開しても安全ですか? 4.3.について、パスワードにしたハッシュ値 h を公開したのではパスワードをそのまま公開していることになり、危険なため、ハッシュ値 h を算出する暗号学的ハッシュ関数の実行コマンドをホームページ等で公開し、パスワードを確認したいときにはこのコマンドを実行してハッシュ値を得ることにすれば、安全ですか? 5.4.について、暗号学的ハッシュ関数はSHAシリーズなどがありますが、この実行コマンドは広く一般に利用できる状態で提供されているため(ハッシュ計算するソフトウェアやWebサイトなど)、SHAなど既存の暗号学的ハッシュ関数を用いるのではなく、自分で専用に暗号学的ハッシュ関数を考案し、また実行コマンドやソフトウェアを作成する必要がありますか? 6.5.が大変な場合、SHAなど既存の暗号学的ハッシュ関数を用いて4.を実現するにはどうしたらいいですか? 7.4.について、コマンドがパスワードの数だけ存在すると管理が大変です。コマンドは共通にして、オプションスイッチで区別することはできませんか? 8.7.について、コマンドは既存のソフトウェアをあらかじめインストールしておき、オプションスイッチを含む実行コマンド文のみをHP等で公開しておくことはできませんか? 9.6.7.8を実現するには、オプションスイッチのうちのひとつをパスワードのパスワードとして、このスイッチのみを非公開とすれば良いですか? 10.9.について、コマンド文はどのように記述すれば良いですか?たとえばハッシュ関数H()、出力h、パスワードの対となる文字列(IDとかファイル名等)m、パスワードのパスワードをk、||は結合とした場合、 H(k||m)=h と書けると思いますがこれをH(m)として公開し、kはあらかじめPC等コマンドを実行する環境で設定しておけば良いですか? 11.10について、暗号学的ハッシュ関数SHA2シリーズ(256bit等)を用いた場合、Merkle-Damgård 構造であるため、length-extension 攻撃され、危険ですか? 12.10.11.について、暗号学的ハッシュ関数SHA3シリーズを用いた場合、SHA2シリーズのハッシュ関数と異なりスポンジ構造であるため、length-extension 攻撃は成り立たず、安全ですか? 13.12について、length-extension 攻撃以外の危険性はありますか?

  • cmdで使えるSHA3ありますか?

    Windows8のコマンドプロンプトで動くSHA3計算ソフトありますか? 引数として与えた文字列のSHA3を取れて、そのままシンプルに出力してくれるのがベストです。 ファイルハッシュは取れなくてもいいです。 できればフリーソフトでお願いします。 よろしくお願いします。 理由:現状、電子情報におけるあらゆる名前付けにSHA256を使っている・・・使っていくつもりだが、 最近、英語版ウィキペディア辺りでもCollisionについて何やら記述されるようになってきた(http://en.wikipedia.org/wiki/Cryptographic_hash_function 下のほうの表にYesとある)ので、 個人的にしか使っていないとはいえ、他人に質問されると説明が面倒なのでSHA3に移行したい。 現状の使用例をYoutube動画に上げてみました。(http://www.youtube.com/watch?v=VN6DPuUeKfY) 参考まで。 実際には殆ど使っていません。ほぼ上の動画のケースだけです。 なので急ぎではないです。

  • 作ったプログラムがすぐに閉じてしまいます。

    C言語について全くの初心者です。 "hello"という文字を打ち出すプログラムを書いて、コンパイルをするまではうまく行ったと思うのですが… できたexeファイルを開けようとしても「cygwin1.dllが見つからなかったため、このアプリケーションを開始できませんでした。」と表示されて開くことができませんでした。 そこでcygwin1.dllをexeファイルと同じフォルダに入れてファイルを開いてみたところ「一瞬だけ開いてすぐに閉じる」という状態になりました。 どうすればファイルがちゃんと開くようになるでしょうか? もし回答するのに情報が不十分であればそれも教えてください。

  • LiEというプログラムを使いたいのですが、やり方がわかりません…

    LiEというプログラムを使いたいのですが、使い方、というか使うまでの過程で何をすればいいのか全くわかりません。 プログラム自体は以下のサイトで落とせるのですが、同サイトのマニュアルを読んでみたところ、どうやらプログラムはC言語で書かれていて、使うためにはコンパイルして.exeに書き換えないといけないらしいです。(あまりこのあたりの専門用語の意味をよく理解していません。よくわからないことを言っていたらすいません…) http://www-math.univ-poitiers.fr/~maavl/LiE/ 知り合いに聞いてみると、Visual Studioというソフトでコンパイルできると言っていたのでやってみたのですが、エラーが大量に出てきました。 知り合い曰く、Visual StudioはC++を読みとるソフトで、C言語は読みとれないのだとか。 そこでC言語を読みとれるソフトを探したのですが、どこにあるのか全くわかりません… 結局のところ、LiE.exeというプログラムを手に入れ、それを起動できる状態にしさえすれば、あとはマニュアルを読めばなんとかなると思うのですが、そこまでたどり着けません… どうすればプログラムを起動することができるのか教えていただけないでしょうか? プログラミングに関する知識はほぼ皆無なので、常識的なことから教えていただけると助かります。

  • Javaのコンパイラ!!

    いま、C++言語の学習中です。 次はJavaかなぁと思っている今日この頃。。。 Javaのプログラムはコマンドプロンプトでコンパイルできるのは経験済みです(超初歩ですが・・『こんにちは』と表示させたりです) コマンドプロンプトはちょっと使い勝手が悪いので・・ コマンドプロンプト以外でJavaをコンパイルするフリーソフトはありますか?? できれば、使い方が載っているホームページがある方がよいのですが。。 Visual studio でもいいのですが英語版で・・・使いにくいかなぁと思っており、Javaでアプリを作成するくらいまでには成長したいとはおもっています。 C/C++ のコンパイラはCygwin とか Visual C++ を使っています。

    • ベストアンサー
    • Java
  • gccがコマンドプロンプト上で使えない(超初心者)

    cygwinを取り込んで使えるようにしたんですが、コマンドプロンプト上で使えません。 コンパイルが出来ないです。 いちおう環境変数PATHを色々なHPに書いてあるように設定したのですが、gccは内部コマンド外部コマンド操作可能なプログラムパッチまたはバッチファイルとして認識されていませんと出ます。 何がおかしいのかご指摘お願いします。 あと、dirで確認したところコマンドプロンプトの初期がオーナーのドキュメントファイルに設定されているんですが、いちおうこの中にデスクトップがあるんですが、デスクトップ上でC言語プログラムの専用ファイルを作った場合にcdで飛ぶ必要はあるんですか?あるならばコマンドプロンプト上でひらがなを打つ方法を教えてください。 あと、cygwin上でコンパイルするにはどうすればいいんですか? 質問重ね重ねすいませんm(__)m

  • OpenCVを使ったプログラムのコンパイル

    OpenCVを使ったプログラムtest.cppを cygwin上でコンパイルしようと思いネットで調べたら 下記のように入力すればよいとのことで, 実際,下記のように入力すればコンパイルできました. g++ -I/usr/local/include/opencv test.cpp -lcxcore -lcv -lhighgui -lcvaux -lml -o test 一度入力すれば2度目以降は「↑」キーを押すことで 過去に入力したコマンドを出せるので楽にコンパイルできるのですが, cygwinを立ち上げ直した際にはもう一度入力しなければなりません. 複雑な記述が必要なコンパイルを 楽に行う方法はないでしょうか?

  • プログラム(課題研究)

    現在プログラムの課題研究をしています・・・ そこで次のようなことを現在やっています ***プログラミング言語の歴史・成り立ち*** そこで質問なんですが各プログラミング言語の特徴・その利用目的・長所短所やそのプログラミングのでき方等を現在探しています。 例えばB言語→C言語→C++言語のような歴史関係も知りたいです。 またBASICの中でもあるものに指向性を持たせた言語などでも結構です(数学関係で十進BASICやコンパイルができるものなど) どんなにマイナーな言語でもかまいませんのでどんどん投稿してください! よろしくお願いします<(_ _)>

  • プログラム使用法の簡単化

    私は大学院生で,C言語のあるプログラムを作りました. 内容は,ファイルで数値データを読み込んで,計算結果を標準出力として >out などでファイルに書き出すというものです.このプログラムは,使用するには勿論,LINUX(正確にはWINDOWS上でcygwinを使っている)でコマンド操作をして動かしますが,この操作をもっと簡単にしたいんです. たとえば,Webブラウザの画面などで,データ入力画面をつくり,ボタンを押すと,データを読み込んで,私が作ったCプログラムに渡して計算させ,結果をWebブラウザの別画面で出してくるといった連携ができないでしょうか. プログラミング自体はいいとして,こういうアプリケーションは知らないんですよね...何かいいツールを知りませんか.

専門家に質問してみよう