Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
[B! hash] ymm1xのブックマーク
[go: Go Back, main page]

タグ

hashに関するymm1xのブックマーク (13)

  • bcryptの72文字制限をSHA-512ハッシュで回避する方式の注意点

    宅ふぁいる便から平文パスワードが漏洩した件を受けて、あらためてパスワードの安全な保存方法が関心を集めています。現在のパスワード保存のベストプラクティスは、パスワード保存に特化したハッシュ関数(ソルトやストレッチングも用いる)であるbcryptやArgon2などを用いることです。PHPの場合は、PHP5.5以降で使用できるpassword_hash関数が非常に便利ですし、他の言語やアプリケーションフレームワークでも、それぞれ用意されているパスワード保護の機能を使うことはパスワード保護の第一選択肢となります。 なかでもbcryptは、PHPのpassword_hash関数のデフォルトアルゴリズムである他、他の言語でも安全なハッシュ保存機能として広く利用されていますが、パスワードが最大72文字で切り詰められるという実装上の特性があり、その点が気になる人もいるようです(この制限はDoS脆弱性回避が

    bcryptの72文字制限をSHA-512ハッシュで回避する方式の注意点
  • Gitのコミットハッシュ値は何を元にどうやって生成されているのか | メルカリエンジニアリング

    こんにちは。サーバサイドエンジニアの @DQNEO です。 前回の「Gitのつくりかた」に続いてGitのコアな部分のお話です。 Gitのコミットハッシュ値とは何か Gitを使っていると必ずコミットハッシュ値というものが出てきます。9e47c22みたいなアレです。 これはある特定のコミットを指し示すIDとして使うことができます。 では質問です。 このコミットハッシュ値は「何を元に」「どうやって」計算されているでしょうか? 「ある特定のコミット」とはそもそも何なのか この問題を考える前に、まず「コミットとは何か」を明らかにしておきましょう。 コミットというと「コミットする行為」すなわち「動作」のことを想像するかもしれません。 しかしGitの内部構造的観点から言うと、Gitが管理記録しているのはコミット行為の結果生成されたデータの方です。 この「コミットによって生成されたデータ」のことを「コミッ

    Gitのコミットハッシュ値は何を元にどうやって生成されているのか | メルカリエンジニアリング
  • password_hash()の重要な制限

    Last Updated on: 2019年2月25日password_hash関数はcrypt関数のラッパーです。パスワードを簡単かつ安全にハッシュ化するための関数です。現在のPHPマニュアルにはpassword_hash関数の重要な制限が未記載であったため追加しました。 password_hash関数はcrypt関数のラッパー password_hash関数は string password_hash ( string $password , integer $algo [, array $options ] ) の書式を持ち、$algoにはDEFAULTまたはPASSWORD_BCRYPTが指定できます。現時点ではPASSWORD_BCRYPTしか指定できないのでどちらを指定しても同じです。DEFAULTを利用することにより、将来より強固なハッシュ関数が追加された場合に自動的な更新が

    password_hash()の重要な制限
    ymm1x
    ymm1x 2017/03/15
    “72文字(バイト)より長いパスワードを許可する場合には注意が必要”
  • ソルトとハッシュ関数だけでパスワードをハッシュ化するのが微妙な理由 - Qiita

    2019/12/29 追記 いまでもこの記事が時々参照されています。Googleなどからこの記事へとやってきた方は、パスワードか何か重要な情報をどう保存するか?ということを考えておられるかもしれません。もしそうであれば、ぜひこの記事のコメントも記事を読んだあとに参照していただきたいと思います。徳丸さんをはじめとして僕よりもはるかに知見のある方の考えなどもあります。ハッシュ化されたパスワードは、もしかしたら今これを読もうとしておられる方が作っているアプリケーションよりも長きにわたって利用されるかもしれません。少々の時間をいただきますが、そういう理由でぜひコメントのディスカッションも参考にしたうえで今できる最良のセキュリティーを実装していってください はじめに この記事ではパスワードを保存する際によく用いられるソルトとハッシュ関数を使うやり方について、なぜそれが微妙であるかを解説した後に、それ

    ソルトとハッシュ関数だけでパスワードをハッシュ化するのが微妙な理由 - Qiita
  • HMAC - Wikipedia

    HMAC-SHA1の生成 HMAC (Hash-based Message Authentication Code または keyed-Hash Message Authentication Code) とは、メッセージ認証符号 (MAC; Message Authentication Code) の一つであり、秘密鍵とメッセージ(データ)とハッシュ関数をもとに計算される。 1997年2月、IBMのKrawczykらにより提唱され、RFC 2104として公開されている。また、FIPS PUB 198にも採用されている。 MACは認証及び改竄検出技術の核となるアルゴリズムである。HMACアルゴリズムは、MAC値(タグ)の算出に暗号学的ハッシュ関数を用いる。ハッシュ関数としては、SHA-2やSHA-3など任意の繰返し型ハッシュ関数を適用可能であり、ハッシュ関数Xを用いるHMACは、HMAC-X

    HMAC - Wikipedia
  • PHP: hash_hmac - Manual

    Getting Started Introduction A simple tutorial Language Reference Basic syntax Types Variables Constants Expressions Operators Control Structures Functions Classes and Objects Namespaces Enumerations Errors Exceptions Fibers Generators Attributes References Explained Predefined Variables Predefined Exceptions Predefined Interfaces and Classes Predefined Attributes Context options and parameters Su

    PHP: hash_hmac - Manual
  • hash_hmac()の使い方

    (Last Updated On: )HMACの応用的な使い方をここ数のブログで書いてきましたが、HMACの基的な使い方を紹介していませんでした。リクエストパラメーターを安全に検証/バリデーションする方法を例に紹介します。unserialize()を安全に利用する利用例にもなります。 参考: HMACハッシュの使い方のまとめ HMACが考案された背景 HMACAPIキーのバリデーションに使う方法を紹介する前に、何故HAMCが考案されたのか紹介します。 HMACはRFC 2104で標準化されています。HMACは基的に暗号学的なハッシュ関数をより安全に利用するために考案されました。暗号学的なハッシュ関数といってもコンピュータの高速化やハッシュアルゴリズム自体の脆弱性の発見などにより、時間と共に危殆化します。 ハッシュ関数が「暗号学的なハッシュ関数」とされる条件を満たしていれば <?ph

    hash_hmac()の使い方
  • コンシステントハッシュ法 - Wikipedia

    コンピュータ科学の分野で、コンシステントハッシュ法(Consistent hashing)とは、ハッシュテーブルのサイズが変更された時、をキーの数、をスロット数とすると、平均個のキーのマッピングの変更のみでハッシュテーブルの機能を提供することのできる、特殊なハッシュ法である。それに対して、その他の多くのハッシュ法では、キーとスロット間のマッピングがモジュラ演算によって定義されているため、ハッシュテーブルのスロット数が変化するとほぼすべてのキーが再マッピングされてしまう。分散システムの一形態である分散キャッシュなどで利用されている。 コンシステントハッシュは、ランデブーハッシュ(英語版)(HRWハッシュとも呼ばれる)と同じ目的を達成するハッシュ法であるが、2つの手法は異なるアルゴリズムを使用しており、同時に独立して開発された。 スロットのハッシュ値をソートしてリストに管理する。前提条件として

    ymm1x
    ymm1x 2017/02/28
    シャーディング
  • SHAttered attack (SHA-1コリジョン発見) – IIJ Security Diary

    暗号アルゴリズムのうちデジタル署名などの用途で利用されているハッシュ関数のひとつ、SHA-1 のコリジョン(衝突)が報告されました。 今回見つけられた攻撃手法は SHAtterd attack と名付けられました[1]SHAttered attack https://shattered.it/ https://shattered.io/[2]Google Security Blog, Announcing the first SHA1 collision https://security.googleblog.com/2017/02/announcing-first-sha1-collision.html。(暗号学的)ハッシュ関数は、異なるデータを異なる固定長データに圧縮することが保証されています。SHA-1 は160ビットの出力長を持つことから、2^80程度という膨大な SHA-1 計算

    SHAttered attack (SHA-1コリジョン発見) – IIJ Security Diary
  • MD5やSHAの代替として利用可能な新たなハッシュ化技術「BLAKE2」登場 | OSDN Magazine

    12月21日、ハッシュアルゴリズム「BLAKE2」とそのCおよびC#実装が公開された。BLAKE2はMD5やSHAといったハッシュアルゴリズムの代替として利用できるもので、セキュリティに優れ高速に動作するのが特徴という。 BLAKE2は、与えられた入力に対し指定されたビット長のハッシュ値を生成するためのアルゴリズム。既存のハッシュアルゴリズムであるMD5よりもセキュリティに優れ、かつSHAよりも高速に処理を実行できるのが特徴という。 同様のハッシュアルゴリズムとしてSHA-2やその後継となるSHA-3(Keccak)などがあるが、BLAKE2はSHA-3アルゴリズムの候補の1つであったBLAKEを改良したものとなっている。BLAKE2はSHA-3やBLAKEと同等のセキュリティを備えつつ、64ビット環境においてMD5と同等の速度で動作し、SHA-2やSHA-3と比べて33%少ないメモリで動

    MD5やSHAの代替として利用可能な新たなハッシュ化技術「BLAKE2」登場 | OSDN Magazine
    ymm1x
    ymm1x 2016/09/08
    "既存のハッシュアルゴリズムであるMD5よりもセキュリティに優れ、かつSHAよりも高速に処理を実行できるのが特徴"
  • ActiveSupportのHash拡張であるslice, exceptがびっくりするぐらい便利 - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?

    ActiveSupportのHash拡張であるslice, exceptがびっくりするぐらい便利 - Qiita
  • ruby の inject をわかりやすく説明してみる - Λάδι Βιώσας

    ruby の inject って慣れないと少し理解しづらいよなーと思ったので、極力わかりやすい説明をしてみるテスト。 わかりやすいかもしれない説明 さて、1 から 10 までの合計を求めるこんな↓コードがあった場合 sum = 0 (1..10).each {|i| sum = sum + i } p sum # => 55 inject を使ってこのよう↓に書けます。 p (1..10).inject(0) {|sum, i| sum + i } each と inject でどのように書き変わってるかを図で示すとこんな↓感じ。 injectの引数 0 は、ブロックローカルな sum 変数の初期値になってます。で、ブロックの実行結果の値が sum に代入されて、2回目以降のループを実行します。ループしている間の、各変数とブロックの中身はこんな↓感じ。 sum i ブロックの中身(sum

    ruby の inject をわかりやすく説明してみる - Λάδι Βιώσας
  • SHA1でハッシュ化したパスワードは危険になった

    Last Updated on: 2018年4月3日パスワードを平文で保存するのは論外で、MD5やSHA1でハッシュ化するのは当たり前です。しかし、SHA1を2000倍早くクラックする方法などが発見され「SHA1は脆弱だ」(ちなみにMD5はもっと危険)とされてからしばらく経ちます。アメリカ政府や大手企業はSHA1は使わない、としています。 Slashdot.orgにまた載っているので更に高速化できた、ということか? 参考: RainbowテーブルによるMD5ハッシュのクラック(英語) RainbowテーブルによるSHA1ハッシュのクラック(英語) 前のエントリ PostgreSQLでSHA1 でPostgreSQLでSHA1を使う方法の一つを紹介していますが可能であればSHA512など、より強いハッシュ関数を利用したり、Saltを利用する、等の方法を採用した方が良いと思います。 備考:良い

    SHA1でハッシュ化したパスワードは危険になった
  • 1