- ベストアンサー
ハッシュについて><;
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
while(($var, $val)=each %hash){ #処理 #$$var=$val; } って感じだと思うけど、 ハッシュに入れた変数というのは、リファレンスですか? でないとうまくないけど (ハッシュの内容というのがもうひとつ、不明なので)テストしてないのでちゃんと動くかどうかはわかりません。 どういう感じでやっているのか補足して下さい。
関連するQ&A
- Perlのハッシュ変数のソートについて
ハッシュ変数の並べ替えをやりたいです。ただ、値の長さでソートをしたいのです。 my %tan_syouhin = ( '佐賀' => 'あいうえお', '滋賀' => 'かき', '無我' => 'さしすせそそそ', '千賀' => 'うりるら', '日我' => 'ぜるだんぽ' ); というハッシュ変数があって「値の長さ」でソートするにはどうしたら良いでしょうか?
- ベストアンサー
- Perl
- perlのハッシュについて
perlのハッシュでキーから値を得ることは出来ますが、その逆に値からキーを得るような関数ってありますか?探してもみつかりませんでした。識者の方々教えてください。
- ベストアンサー
- Perl
- ハッシュ関数について質問です。
プログラミング・数学? 初心者です。 IDやパスワード管理によく出てくる一次方向(ハッシュ)関数ですが、 よくパスワードとSALTを一緒にしてハッシュ関数を通してハッシュ値を取得しますよね。 そしてその結果(データベースなどに記録済み)とログイン時に入力した値とを照らし合わせるわけですが、 昔まだ若いころ、これとは別のタイプのハッシュ関数を使用したことがあります。 それはある(パスワードなどの)値をハッシュ関数で処理すると「いろんなハッシュ値」が生成され、 そのハッシュ値から当然パスワードは予測できないのですが、 しかしその複数のハッシュ値は全て、そのパスワードから生成されたハッシュ値だということは分かる、という関数を使用したことがあります。 その時はperlのcpanモジュール(名前を覚えていません。すいません。)を使ったのですが、この別のタイプのハッシュ関数はどういう仕組みで作られているのでしょうか? SALTが複数あり、そのそれぞれについて照合している?だけでしょうか? それとも私が無知で、そんな関数がそもそも存在するだけでしょうか? わかりません。教えてください。
- ベストアンサー
- その他(プログラミング・開発)
- セキュリティ証明書のハッシュ値について
セキュリティ証明書(SSL通信時などに利用する証明書)には 拇印情報があり、ここは証明書自身のハッシュ値が記録されていると聞きました。 証明書から作成されたハッシュ値を再びハッシュ値に記載したら 元の証明書を書き換えているため、次回ハッシュ値を求めたら別のハッシュ値になりませんか? 1.証明書 -> [ハッシュ関数] -> ハッシュ値 2.ハッシュ値を証明書に記述記載 3.証明書(ハッシュ値付き)-> [ハッシュ関数] -> ハッシュ値 1と3の結果のハッシュ値同士は一致しないですよね? GMailの証明書を見ると、sha1で、 90adbe01984695b6649ad0f9ef4f1b5836eb380d という値になっていて、 私の端末(WindowsXP)でfcivコマンドを実行した結果も fciv -sha1 gmail.cer 90adbe01984695b6649ad0f9ef4f1b5836eb380d gmail.cer となり、同じ値なのですが。。。 証明書に記載されているハッシュ値はどのように計算されているのでしょうか?
- 締切済み
- ネットワーク
- ハッシュ値について
ハッシュ値をHDDやメディアのファイル破損調査に使用しようかなと思っているのですが、いかがでしょうか? 例えばファイルの保管前にハッシュ値を取得し、その1年後ぐらいに改めてハッシュ値を取得、それを前回のハッシュ値と較べて、一緒であればファイルは破損していません、という考え方でいいのでしょうか? 何らかの理由でHDD・メディア上でファイルが破損し、しかし同じハッシュ値が検出されるということは有り得ないですよね? すいません、どなたかご返事お待ちしております。
- 締切済み
- その他([技術者向] コンピューター)
- パスワードのハッシュ化
ログイン機能を作っています。 password_hashしたパスワードをmysqlに保存しているのですがアカウントと照合しtrueを返すところで躓いています。 変数に引っ張て来た変数の中にパスワードがあるか検証したいのですがどのようにすればいいですか? var_dump($pass);//$passの中に上記の変数でハッシュ化された「samplepass」 で、 「$2...」 のような、文字列が出るはずが 「1」 になってしまいます。 不可逆ということは、出力も無理なのでしょうか?
- ベストアンサー
- PHP
- ハッシュのハッシュのソート
rubyでハッシュのソート方法についてはいくつか情報のサイトを見つけられました。 ですが今やりたいのは、ハッシュのハッシュのソートなのですが、うまいやり方がわかりませんでした。 具体的には、 h1 = {"user1"=>{"a"=>10, "b"=>20, "c"=>30"}, "user2"=>{"d"=>5, "e"=>8}, "user3"=>{"f"=>10, "g"=>5, "h"=>10} } というようなハッシュのハッシュを想定しています。ユーザごとに案件ごとの必要工数(時間)をハッシュとして持たせ、全工数が多いユーザ順にソートしたいのです。 上記の場合だと、 {"user1"=>{"a"=>10, "b"=>20, "c"=>30"}, "user3"=>{"f"=>10, "g"=>5, "h"=>10}, "user2"=>{"d"=>5, "e"=>8} } というようにソートしたいのですが、何かやり方がありましたらご教授いただけますでしょうか。
- ベストアンサー
- Ruby
- 理想的なハッシュ関数
C++での質問です. たとえば以下のようなmyclassクラスがあり, メンバ変数のx,y,ar[10]を使って 0~ 1020 の範囲のハッシュ値を得たいのですが, どうも偏った値しか得られません. できるだけ指定範囲の中で均一に値を生成するような myclass::hush() を作るとしたらどのような計算方法が考えられるでしょうか? ちなみにx,y,ar[10]の整数型変数はいずれも 0~50程度の値です. const int modnum = 1021 ; /* 素数 */ class myclass{ private: int x; int y; int ar[10]; public: int hush(); }; int myclass::hush(){ int sum; /* ここで x, y, ar[10]を使った計算を行う */ sum = /* x, y, ar[10]から導き出した値 */ return sum % modnum; }
- ベストアンサー
- C・C++・C#