並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 24 件 / 24件

新着順 人気順

Hashの検索結果1 - 24 件 / 24件

  • ソルト付きハッシュのソルトはどこに保存するのが一般的か - Qiita

    pictBLandとpictSQUAREに対する不正アクセスがあり、パスワードがソルトなしのMD5ハッシュで保存されていたことが話題になっています。 2023年8月16日に外部のフォーラムにpictSQUAREより窃取した情報と主張するデータ販売の取引を持ち掛ける投稿が行われた(中略)パスワードはMD5によるハッシュ化は行われているもののソルト付与は行われていなかったため、単純なパスワードが使用されていた29万4512件は元の文字列が判明していると投稿。(それ以外の26万8172件はまだMD5ハッシュ化されたままと説明。) 不正アクセスによるpictBLand、pictSQUAREの情報流出の可能性についてまとめてみた - piyolog より引用 これに関連してMD5ハッシュやソルトに関するツイート(post)を観察したところ、どうもソルトの理解が間違っている方が多いような気がしました。

      ソルト付きハッシュのソルトはどこに保存するのが一般的か - Qiita
    • 配列を征する者はJSを制す。JavaScriptのスマートな配列操作テクニック - ICS MEDIA

      JavaScriptでコードを記述する際、配列の各要素について処理をするケースは頻出します。開発の現場で配列操作の処理を見ていると、次のようなケースがよくあります。 配列の非破壊の望まれる場面が増えているが、元の配列を破壊操作している filter()やevery()など配列のメソッドで書けるところを、forEach()メソッドやfor ... of文を使ってコードを記載し、冗長になっている 記述しても効果のないArray.from()を使用している コード的には問題なく、アプリケーションは意図的に動作しているかもしれません。しかし、冗長な記述は可読性が低下し、予期せぬバグを誘発する可能性があるでしょう。 本記事では、配列操作でよく見かける冗長な記述を、簡潔な記述で置き換える方法について解説します。 本記事で紹介するJavaScriptの配列操作のチートシートを用意したので、まとめて読みた

        配列を征する者はJSを制す。JavaScriptのスマートな配列操作テクニック - ICS MEDIA
      • PHPとPythonとRubyの連想配列のデータ構造が同時期に同じ方針で性能改善されてた話 - hnwの日記

        PHPとPythonとRubyの連想配列のデータ構造がそれぞれ4〜5年ほど前に見直され、ベンチマークテストによっては倍以上速くなったということがありました。具体的には以下のバージョンで実装の大変更がありました。 PHP 7.0.0 HashTable高速化 (2015/11) Python 3.6.0 dictobject高速化 (2016/12) Ruby 2.4.0 st_table高速化 (2016/12) これらのデータ構造はユーザーの利用する連想配列だけでなく言語のコアでも利用されているので、言語全体の性能改善に貢献しています1。 スクリプト言語3つが同時期に同じデータ構造の改善に取り組んだだけでも面白い現象ですが、さらに面白いことに各実装の方針は非常に似ています。独立に改善に取り組んだのに同じ結論に至ったとすれば興味深い偶然と言えるでしょう2。 本稿では3言語の連想配列の従来実

          PHPとPythonとRubyの連想配列のデータ構造が同時期に同じ方針で性能改善されてた話 - hnwの日記
        • 何故パスワードをハッシュ化して保存するだけでは駄目なのか? - NRIネットコムBlog

          不正アクセスによるIDとパスワードの漏洩を受けて、MD5によるハッシュ化について話題になっていました。システムを作る上で、パスワードの管理や認証はどう設計すべきかを考えるために、少し整理をしてみます。もし事実誤認があれば、どしどしご指摘ください。 == 2023/8/21追記 == この記事は、ハッシュの保存の仕方一つとっても、沢山の対策方法が必要であるということをお伝えするために記載しています。そして、これから紹介する手法を取れば安全とお勧めしている訳ではないので、その点をご留意いただければと思います。攻撃手法に応じての対応策の変遷を知っていただくことで、セキュリティ対策は一度行えば安全というものではないことを知って頂くキッカケになれば幸いです。 == 追記終わり == パスワードのハッシュ化 まず最初にパスワードの保存方法です。何も加工しないで平文で保存するのは駄目というのは、だいぶ認

            何故パスワードをハッシュ化して保存するだけでは駄目なのか? - NRIネットコムBlog
          • 暗号アルゴリズム「SHA-1」の廃止を発表、NIST

            米国国立標準技術研究所(NIST: National Institute of Standards and Technology)は12月15日(米国時間)、「NIST Retires SHA-1 Cryptographic Algorithm|NIST」において、暗号アルゴリズム「SHA-1」を廃止すると伝えた。SHA-1の暗号ハッシュ関数はすでに脆弱と評価されており米国政府機関での利用廃止が発表されている。 電子情報を保護するために初期に広く使われた手法の一つであるSHA-1アルゴリズムは、耐用年数が終了しているとして廃止が決定されている。SHA-1がまだ使用されているという現状から、より安全性の高い新しいアルゴリズムに置き換えることが推奨されている。 SHA-1という名称は「Secure Hash Algorithm」の頭文字からきており、1995年から連邦情報処理規格(FIPS:

              暗号アルゴリズム「SHA-1」の廃止を発表、NIST
            • メールアドレスをハッシュ化したものを公開してもよいのか - しまたろさんの掃き溜め

              注意 この記事は攻撃の実行を教唆する目的で書かれたものではなく、特定の状況におけるセキュリティ上の問題点を指摘するために公開しているものです。この記事に書かれた内容を実行して発生した結果について、筆者は一切の責任を負いません。 はじめに インターネット上で他人のメールアドレスをmd5で二重ハッシュしたものを公開されている方を見かけたため、解析する実験を行いました。 メールアドレスのユーザー名部分は多くの場合小文字のアルファベットと数字のみ(36文字)のそれほど長くない列で構成されており、ブルートフォース攻撃(総当り攻撃)によって簡単に特定できてしまうと考えられます。 またドメイン部分に関しても、一般の方が使うメールプロバイダが限られていることを考慮すると、サイズの小さい辞書でも十分な確率で当たるものと考えられます。 実験 今回はhashcatという、GPUでハッシュ値を解読するソフトウェア

                メールアドレスをハッシュ化したものを公開してもよいのか - しまたろさんの掃き溜め
              • 実装例から見る React のテストの書き方 - Cybozu Inside Out | サイボウズエンジニアのブログ

                2024/04/17: 更新 内容を更新した記事を書きましたので、よかったらこちらも併せて、ご覧ください。 zenn.dev こんにちは!フロントエンドエキスパートチームの@nus3_です。 kintone のフロントエンド刷新プロジェクト(フロリア)では、品質を保ったまま開発を加速させるためにフロントエンドのテストを積極的に行っています。 今回はそんなフロントエンドのテストの実装例をいくつか紹介します。この記事がフロントエンドのテストを行う上での参考になれば幸いです。 テストに使用する主なパッケージ コンポーネントのテスト 補足: Testing Library の記法をチェックしてくれるeslint-plugin-testing-library カスタムフックのテスト 補足: React v18 では @testing-library/react の renderHook を使う 参考

                  実装例から見る React のテストの書き方 - Cybozu Inside Out | サイボウズエンジニアのブログ
                • RSA署名を正しく理解する

                  初めに 「署名とはメッセージのハッシュ値を秘密鍵で暗号化したものであり、検証は署名を公開鍵で復号してハッシュ値と等しいかを確認することである」という説明(×)をよく見かけます。 正しい署名の定義と実際のRSA署名がどのようなものであり、上記説明(×)がなぜよくないのかを理解しましょう。 署名の定義 署名の解説は署名の概要でも解説しましたが、再掲します。 署名(方式)は鍵生成(KeyGen)、署名(Sign)、検証(Verify)の3個のアルゴリズムからなります。 KeyGenではアリスが署名鍵sと検証鍵Sを生成します。署名鍵sは自分だけの秘密の値なので秘密鍵、検証鍵Sは他人に渡して使ってもらう鍵なので公開鍵ともいいます。 Signは署名したいデータmに対して署名鍵sを使って署名と呼ばれるデータσを作ります。 データmと署名σのペアを他人(ボブ)に渡します。 Verifyはボブが検証鍵Sを使

                    RSA署名を正しく理解する
                  • OWASPに学ぶパスワードの安全なハッシュ化 | DevelopersIO

                    Dropbox はソルトとペッパーを利用 次の Dropbox 技術ブログによると、2016年9月時点の Dropbox は、パスワードをソルト化とペッパー化のコンボで保存していました。 How Dropbox securely stores your passwords - Dropbox 具体的には パスワードを SHA512 でハッシュ化 このハッシュ値をソルトとともに bcrypt でハッシュ化 最後にペッパーを鍵に AES256 で暗号化 というようにパスワードを多段で保護してデータベースに保存していました(AES256(BCRYPT(SHA512(PASSWORD) + SALT), PEPPER))。 ※ 図はブログ記事より引用 Dropbox はあくまでもペッパーの実例として紹介しました。 bcrypt の項でお伝えしたように、bcrypt 処理前にパスワードをハッシュ化す

                      OWASPに学ぶパスワードの安全なハッシュ化 | DevelopersIO
                    • GitHub を狙った Reverse Proxy 型フィッシングサイトの探索と報告 - ぶるーたるごぶりん

                      GitHub の Reverse Proxy 型フィッシングサイトの発見と報告 こんにちは、でじこだにょ 今回は GitHub を狙った Reverse Proxy 型のフィッシングサイトを探していこうと思います。 (長いので、Reverse Proxy 型のことをプロキシ型と略しちゃいます) 結論から書くと、24件のフィッシングサイトを新規に発見して報告しました。 今回はそれらのフィッシングサイトの探し方のほか、フィッシングサイトの検出方法や、 セーフブラウジングなどの話をしつつ、 今回見つけたフィッシングドメインに対して、簡単ではありますが、調査と考察を行ってみたいと思います。 探そうとしたきっかけ 数日前、 Twitter を見ていたところ、こちらのツイートが流れてきました。 あっぶね GitHubだと思ったら全然違ったわ pic.twitter.com/SRtHUu3XDM— ./

                        GitHub を狙った Reverse Proxy 型フィッシングサイトの探索と報告 - ぶるーたるごぶりん
                      • Swisstable Hash に使われているビット演算の魔術 - methaneのブログ

                        Googleが開発したSwisstableと呼ばれるハッシュテーブル実装がAbseilとして公開されて、Rustの標準のHashMap実装にもその移植であるhashbrownが採用されました。 Swisstable の面白いところは、8または16要素をグループ化して、グループ内の各要素のハッシュ値のうち7bitをそれぞれ1byteに格納した8または16バイトの配列を作り、その配列に対して一気に並列でマッチングを行うことです。 この並列マッチングにはSSE2もしくはビット演算が使われます。この記事ではこの並列マッチング部分について解説します。 SSE2を使う場合 SSE2を使う場合は、グループのサイズは16になります。ハッシュ値を格納する配列のことを control と呼ぶことにすると、 control は char control[16] になります。control の各バイトの状態は次の

                          Swisstable Hash に使われているビット演算の魔術 - methaneのブログ
                        • Implementing Hash Tables in C

                          NOTE(s): The article is in “draft” status. The content was originally written in 2017. The intended audience for this article is undergrad students or seasoned developers who want to refresh their knowledge on the subject. The reader should already be familiar with C (pointers, pointer functions, macros, memory management) and basic data structures knowledge (e.g., arrays, linked lists, and binary

                          • GitHub - BLAKE3-team/BLAKE3: the official Rust and C implementations of the BLAKE3 cryptographic hash function

                            BLAKE3 is a cryptographic hash function that is: Much faster than MD5, SHA-1, SHA-2, SHA-3, and BLAKE2. Secure, unlike MD5 and SHA-1. And secure against length extension, unlike SHA-2. Highly parallelizable across any number of threads and SIMD lanes, because it's a Merkle tree on the inside. Capable of verified streaming and incremental updates, again because it's a Merkle tree. A PRF, MAC, KDF,

                              GitHub - BLAKE3-team/BLAKE3: the official Rust and C implementations of the BLAKE3 cryptographic hash function
                            • A new hash algorithm for Git [LWN.net]

                              Benefits for LWN subscribersThe primary benefit from subscribing to LWN is helping to keep us publishing, but, beyond that, subscribers get immediate access to all site content and access to a number of extra site features. Please sign up today! The Git source-code management system is famously built on the SHA‑1 hashing algorithm, which has become an increasingly weak foundation over the years. S

                              • 解明!password_hash関数で生成される文字列の正体 - Innovator Japan Engineers’ Blog

                                こんにちは、CTOの山岡(@hiro_y)です。 (この記事は、来る2022年4月9日から開催されるPHPerKaigi 2022に登壇応募したものの選出されなかった題材をブログに書くことで供養しようという試みです。) Webシステムでパスワードを保存するとき、そのままの値(平文)で保存してはいけません。データベースの中身が何かしらのインシデントで漏洩してしまった場合、パスワードの内容が明らかになってしまうからです(漏洩の時点でもっと酷い事態になっていそうではありますが…)。では、どのような対策を行えばよいのでしょうか。 パスワードはハッシュ化しよう 一つ目の対策は、パスワードを秘密鍵を使って暗号化、保存する方法です。 その場合、それぞれの暗号化に共通の秘密鍵を使わないことが大切です。また、初期化ベクトル(IV)としてそれぞれ異なるものを用意、ブロック暗号化モードを利用して暗号化した結果が

                                  解明!password_hash関数で生成される文字列の正体 - Innovator Japan Engineers’ Blog
                                • 大体の位置情報を示すSec-CH-Geohashヘッダ - ASnoKaze blog

                                  Private Relayをはじめ、Proxyを通してクライアントのIPアドレスをサーバに対して隠す技術が登場しています。 ところで、Webサービスはクライアントの位置情報によって出力する情報を変えたり、最適化を行う場合があります。JavaScriptのGeolocation APIから取得することもあるでしょうが、APIアクセスなどJavaScriptが利用できない場合もあるでしょう。その場合、IPアドレスから位置情報を類推する手段(GeoIPなど)があります。 IPアドレスから位置情報をある程度推測する手法は、IPアドレスが隠されると機能しなくなります。 Private Relayではユーザが望む場合は、Webサーバに対して大体の位置情報を提供するという観点について、IETF 111の発表で触れています。 (https://datatracker.ietf.org/meeting/11

                                    大体の位置情報を示すSec-CH-Geohashヘッダ - ASnoKaze blog
                                  • Shodan search 101

                                    # Shodan search 101 1 min read... # 検索クエリーの基本 Shodan の検索クエリーはfiltername:valueという形式で記述します。 例えば、日本に存在するホストを調べたい場合のクエリーは以下になります。 country:jp (opens new window) 使用できるフィルターの詳細については、公式の API ドキュメント (opens new window)もしくはJavierOlmedo/shodan-filters (opens new window)を参照してください。 valueの値を ,で区切って指定することで、複数の値を同時に検索することができます。 country:jp,kr (opens new window) フィルターは同時に複数指定することができます。基本的には複数のフィルターのANDをとった検索結果が返ってきま

                                    • 安全で爆速なRollingHashの話 - Qiita

                                      要約 ロリハ(RollingHash)のModを$2^{61}-1$にすると安全で爆速になってむちゃくちゃ幸せになれます。 前提知識 bit演算に関する基礎的な知識を要求します。 また、RollingHashについては以下で解説しますが、分からない場合は別の記事を読んだほうがいいかもしれません。 RollingHashとは? 開く 「文字列を一つの大きな整数として見る」というのがRollingHashのアイデアです。 まず、0-9のみの数字を含んだ文字列s = "1234567890"を考えてみます。 ここで、この文字列のHash値を文字列を10進数と解釈したときの数値と定義します。 また、$s$の$a$文字目から$b$文字目の前までの部分文字列を$s[a..b]$と書くことにします。 例えば、s = "1234567890"について、$s[1..3]$は1文字目から3文字目の前までの部分

                                        安全で爆速なRollingHashの話 - Qiita
                                      • 何故、パスワード暗号化だけでは不十分なのか。或いは美味しいハッシュドポテトについて。 - ようこそここは俺のチラシの裏だ。

                                        まぁまずはこの呟きを確認してくれ。 「パスワードを暗号化して保持する」 「その後画面に普通に表示する」 「別なユーザがパスワードを編集可能にする」 ウケるを通り越して頭痛くなってくるだろ。— える.jar(undeploying) (@ellnore_pad_267) 2019年11月11日 このツイートを見て「ヤベーじゃん」って素直に思える人はこの日記は読む必要がありません。 逆に、「ん?」って思ったけど何が悪いか解らない、みたいな非技術者サイドの人は読んだ方が良いでしょう。 暗号化とハッシュ化の違い 最大の違いは元に戻せる(=復号化可能)かどうか。 暗号化は元に戻せる。 ハッシュ化は元に戻せない。 これが最大の違い。 これを踏まえて、パスワードをはじめとするセンシティブデータ*1のシステム保存に関するセキュリティ対策の姿勢は大きく以下の3つ(+1)に分けられます。 平文*2で保存する。

                                          何故、パスワード暗号化だけでは不十分なのか。或いは美味しいハッシュドポテトについて。 - ようこそここは俺のチラシの裏だ。
                                        • GitHub - corkami/collisions: Hash collisions and exploitations

                                          Q: Is it possible to make a file get an arbitrary MD2/MD4/MD5/MD6/SHA1/SHA2/SHA3, or the same hash as another file? A: No. Q: Can one create 2 different files with the same hash? A: With MD5, in a few seconds on a standard computer. With SHA1, it's possible but not practical for end-users (Complexity: 2^61.2 Price: $11k). Q: Can one make 2 different files get the same hash by appending stuff? A: W

                                            GitHub - corkami/collisions: Hash collisions and exploitations
                                          • Xor Filters: Faster and Smaller Than Bloom Filters – Daniel Lemire's blog

                                            In software, you frequently need to check whether some objects is in a set. For example, you might have a list of forbidden Web addresses. As someone enters a new Web address, you may want to check whether it is part of your black list. Or maybe you have a large list of already used passwords and you want to check whether the proposed new password is part of this list of compromised passwords. The

                                              Xor Filters: Faster and Smaller Than Bloom Filters – Daniel Lemire's blog
                                            • GitHub - projectdiscovery/httpx: httpx is a fast and multi-purpose HTTP toolkit that allows running multiple probes using the retryablehttp library.

                                              Usage: ./httpx [flags] Flags: INPUT: -l, -list string input file containing list of hosts to process -rr, -request string file containing raw request -u, -target string[] input target host(s) to probe PROBES: -sc, -status-code display response status-code -cl, -content-length display response content-length -ct, -content-type display response content-type -location display response redirect locati

                                                GitHub - projectdiscovery/httpx: httpx is a fast and multi-purpose HTTP toolkit that allows running multiple probes using the retryablehttp library.
                                              • 宅配便業者/金融機関を装ったSMS Phishingについて

                                                # 宅配便業者/金融機関を装ったSMS Phishingについて 日本の宅配便業者/金融機関を装ったSMS phishingを行う3つのAndroidマルウェアが存在しています。 FakeSpy FakeCop(XiGhost) MoqHao(XLoader) 3つともにこの数年間にわたって日本のブランドをターゲットにしたSMS phsihingを行っています。 この記事にでは、それぞれの特徴と最近の変更点について解説します。 3つ種類があるにも関わらず、その区別が曖昧なまま議論が行われている場面を先日見かけました。この記事より、日本をターゲットにしたSMS Phishingの現状について理解が深まることを期待します。 # FakeSpy FakeSpyは日本郵便に偽装したAndroidマルウェアです。 日本以外の国では、La Poste(🇫🇷)やRoyal Mail(🇬🇧)などに

                                                • Outlook Vulnerability Discovery and New Ways to Leak NTLM Hashes

                                                  Varonis is your all-in-one SaaS platform to automatically find critical data, remediate exposure, and stop threats in the cloud and on-premises.

                                                    Outlook Vulnerability Discovery and New Ways to Leak NTLM Hashes
                                                  1