Movatterモバイル変換


[0]ホーム

URL:


はてラボはてな匿名ダイアリー
ようこそ ゲスト さんログインユーザー登録

「ハッシュ値」を含む日記RSS

はてなキーワード:ハッシュ値とは

次の25件>

2025-10-16

4文字数字パスワードの保存にハッシュ値を使う必要あるのか?

Permalink |記事への反応(0) | 12:08

このエントリーをはてなブックマークに追加ツイートシェア

2025-10-05

anond:20251005012217

個人特定するのに全ゲノム比較する必要がないという意見には同意しますよ。

上のカキコで「DNA」と書かれていたものを、私が「全ゲノム」と解釈してトラバしているので微妙議論が噛み合わない感じになっていますが、私もハッシュ化したシーケンス(スケッチ)を個人照合に使うのがいいと思っているわけではないということは申し上げておきます

そのうえで、採用するリードクオリティを厳し目に設定するのと、十分なシーケンス深度で読むのと、完全一致以外も許容するようにすればシーケンスエラー問題は克服できるはずです。

しろ細菌ゲノムなどのコンタミネーションや、ミトコンドリアの数が組織間で異なることがより大きな問題となります

いつも理想的な条件でサンプリングできればよいですが、十分なサンプル量が得られなかった場合などにはコンタミネーションの影響が大きくなり精度が低下するおそれがあります

上の議論では犯罪捜査への応用が話題に上っていますが、例えば犯罪現場に残された毛髪や体液はサンプルのクオリティが不十分であると思います

それからハッシュ化するというアイデアセキュリティ上よさそうに見えますが、塩基配列は扱う文字が4種類しかないので、情報工学でやるパスワードハッシュ化よりも脆弱です。

攻撃者が予め既知のヒトゲノムで生み出しうるk-mer配列を全て列挙して、それぞれのハッシュ値を取得しておけば(多分)ゲノムを復号できます

Permalink |記事への反応(1) | 08:34

このエントリーをはてなブックマークに追加ツイートシェア

anond:20251005001543

シーケンスk-merに分割してハッシュ化して、ハッシュ値ごとの出現確率比較すれば全ゲノムでも扱えるよ

Permalink |記事への反応(1) | 00:26

このエントリーをはてなブックマークに追加ツイートシェア

anond:20251005000121

同じ人の全ゲノム二回読んだら二つでハッシュ値わっちゃうよ

プロトコル問題シーケンサーの精度の問題体細胞変異問題

なのでまあ特定箇所だけ集中的に見るのが普通

Permalink |記事への反応(1) | 00:15

このエントリーをはてなブックマークに追加ツイートシェア

anond:20251004214517

ゲノムを記録しなくても、全ゲノムハッシュ値を記録すれば、人物同一性検査することが可能で、かつ具体的なゲノム配列漏洩するリスクを低減できる。

Permalink |記事への反応(1) | 00:01

このエントリーをはてなブックマークに追加ツイートシェア

2025-08-02

Hashcat

Hashcatは強力なパスワード解析ツールで、主にハッシュ値復元パスワードリカバリーに利用されますコマンドライン操作し、多様なハッシュタイプ対応代表的な使い方は以下のようなコマンド構文です:

hashcat [オプション] [ハッシュファイル] [辞書ファイルまたはマスク]

ハッシュファイルは解析したいハッシュ値の入ったファイル

辞書ファイルパスワード候補リスト

例えばMD5ハッシュに対する辞書攻撃は以下です:

text

hashcat -m 0 -a 0 hashes.txt wordlist.txt

また、ブルートフォースではマスク指定可能で、?l(小文字)、?u(大文字)、?d数字)、?s(記号)などの文字パターンを用います

Hashcatは辞書攻撃ブルートフォース攻撃コンビネーション攻撃マスク攻撃など多彩な攻撃モードサポートし、高速かつ柔軟な解析が可能です。解析したパスワードは記録され、重複解析を防止する機能もあります

https://ja.taiwebs.com/windows/download-hashcat-6759.html

使用にはある程度のコマンド操作知識必要ですが、詳細な日本語ガイド動画もあり初心者にも理解やすいです。

Permalink |記事への反応(0) | 20:12

このエントリーをはてなブックマークに追加ツイートシェア

2025-07-21

anond:20250721234116

ネット投票できるのは投票日の直前1日前(期日前投票と同じ)扱いにすればいいんだよ。

その後、投票日に気が変わったら上書き投票できるようにすればいいでしょう。

それで、2と3はクリアできるわけ。

仮に、締め切り10分の前に投票させたとしても、翌日の投票日に違う党に投票できるでしょ。

何よりそういう不正野郎犯罪者は、こっそり撮影してあげて違法選挙証拠として警察通報して、連座制適応で芋づる式に刑務所に入れるべきだ。

投票日には投票所に入れに行けるなら、サーバダウンも関係ないわけだしね。

個人認証マイナンバー管理すれば、確実に一人1票で上書き投票も実現できるだろう。

もちろん、秘密投票であるべきだから、誰がどこに投票たかログは取ってはいけない。

上書き機能の実現のために、サーバの仕組み上必要だとしたら、一方向ハッシュ値とかで管理して、わからないようにするべきだね。

Permalink |記事への反応(1) | 23:50

このエントリーをはてなブックマークに追加ツイートシェア

2025-06-27

ChatGPT o3と暗号化じゃんけんをしている

先に手札のハッシュ値コミットしたというので、いざ戦おうと手札を出したら、ChatGPTが何の手札の文字列暗号化たかからなくなった模様

Permalink |記事への反応(0) | 13:56

このエントリーをはてなブックマークに追加ツイートシェア

2025-06-10

dorawii

はい、**ブロックチェーンを使ったタイムスタンプ**は、「元データのものを共有せずに、その存在と時刻を証明する手段」として非常に有効です。特にハッシュ値ブロックチェーンに記録することで、元データを後から提示するだけで、それがある時刻に存在したこと改竄されていないことを**誰でも検証可能にする**、という形になります

あなた希望(元の文章掲示板などで変形されても検証可能、あるいは元文不要)に近づけるには、**ハッシュブロックチェーンに書き込んで、後からそのハッシュに一致する元データを見せる**という形式になります

---

## ✅方法概要

### 基本の流れ:

1. 元データを SHA-256 などでハッシュ

2. そのハッシュブロックチェーンに記録(トランザクションメモ欄など)

3. 後から誰でもハッシュトランザクションを照合して、時刻と整合性検証可能

---

## ✅ 推奨ツール:OpenTimestamps(OTS

[OpenTimestamps](https://opentimestamps.org/) は、ビットコインブロックチェーンを用いた無料タイムスタンプサービスです。

**長所**:無料・非中央集権署名不要CLIがある

**短所**:ブロックに取り込まれるのに数時間かかることがある(ただし証明可能

---

## ✅Windows11 での手順(OpenTimestampsCLI

### 1. **Pythonインストール**

OpenTimestampsはPython製です。

Pythonがまだ入っていない場合は、https://www.python.org/downloads/windows/](https://www.python.org/downloads/windows/)からインストーラーを取得し、`Add toPATH` にチェックを入れてインストールしてください。

### 2. **otsクライアントインストール**

コマンドプロンプトまたはPowerShellで以下を実行:

```bash

pip install opentimestamps-client

```

### 3. **ハッシュ対象ファイルの用意**

たとえば `message.txt` というファイルを用意します(中身は何でもOK)。

### 4. **タイムスタンプ作成**

```bash

otsstampmessage.txt

```

これにより、`message.txt.ots` というタイムスタンプファイル作成されます

これは「Bitcoinにこのデータハッシュを記録する要求がされたこと」を表します。

### 5. **数時間後、タイムスタンプ検証する**

```bash

ots verifymessage.txt

```

署名Bitcoinブロックチェーンに記録されていれば、次のように表示されます

```

Success!Bitcoin attests data existedas of 2025-06-0812:34:56UTC

```

---

## ✅ 元のデータを見せたくない場合

`echo "この文が存在していたことを証明したい"` → これを SHA-256 に変換し、ダミーファイルとして保存してタイムスタンプを取る

元文は第三者に見せず、ハッシュとの一致だけで検証可能

```bash

echo -n "あなたの文" |openssl dgst -sha256

```

このハッシュに一致するファイルを後から提示すれば、それが当時存在していたことを証明できます

---

## ✅ まとめ

特徴 内容
------------- --------------------
元文の提示不要 ✅(ハッシュが一致すればOK
改行や掲示板変形の影響なし ✅(ハッシュが変わらなければOK
無料かつ自律的 ✅(Bitcoinブロックチェーン使用
Windows対応 ✅(Python +CLI

---

もしあなた目的が「一定時刻に自分がその文を作成したこと証明であるなら、この方法は非常に相性が良いです。

---

必要であれば、GUIツールウェブインターフェースを使った方法(例:[OpenTimestamps Calendar](https://calendar.opentimestamps.org/))も紹介できます希望があればお知らせください。

-----BEGINPGP SIGNEDMESSAGE-----Hash: SHA51220250610095304512 -----BEGINPGP SIGNATURE-----iHUEARYKAB0WIQTEe8eLwpVRSViDKR5wMdsubs4+SAUCaEgAgAAKCRBwMdsubs4+SII/AP9HFG5+U8BfEXzKxSoyEuxm6X/vJjK7Ee7Kwpi/rwQZJgEAorUjMTh9okHu3WbPvgsSfDyzhpUuwCVsKessR4FSpQE==VNrS-----ENDPGP SIGNATURE-----

Permalink |記事への反応(0) | 18:53

このエントリーをはてなブックマークに追加ツイートシェア

2025-03-28

詭弁パズル

無作為な1024ビットファイルを2個作って、これら2個のファイルのSHA256値が一致したとする。

このとき2個のファイルの中身が一致する確率を考えてみる。

片方のファイルを固定したとき、もう片方として生成するファイルパターンが 2^1024 通りあり、ハッシュ値が一致する確率が1 / 2^256 なので、ハッシュ値が一致するパターンは 2^1024 / 2^256 = 2^768 通りある

そのうち中身が同じものは1通りだけなので、中身が一致する確率は 1 / 2^768 となる。

この確率はほぼ0といえるので、ハッシュ値が一致することはファイル一致の証拠として全く使えないことが分かる。

Permalink |記事への反応(0) | 03:26

このエントリーをはてなブックマークに追加ツイートシェア

2024-09-15

anond:20240915192726

検索機能だって改善してもらったんだし、

投稿内容をハッシュ化して保存し、直前のハッシュ値と一致したら投稿拒否するだけでいいんだよ。

Permalink |記事への反応(1) | 19:29

このエントリーをはてなブックマークに追加ツイートシェア

2024-08-13

anond:20240813161724

ランダム値なんて乱数のシード値から作ってるだけやで

乱数のシード値をクラサバで同期させて、クライアント改ざんがあったらハッシュ値で検出すればいいやで

Permalink |記事への反応(1) | 16:29

このエントリーをはてなブックマークに追加ツイートシェア

2024-08-06

anond:20240806001637

オーディエンスが「この抽選結果は納得だ」と感じることができる電子的な乱数生成方法とその演出は何か」

元増田で述べたような方法が、不正が入り込む余地がないと外部から判断できる電子的な乱数生成方法で、

それを使って神経衰弱のように大量のカードを裏向きに伏せて、その中から1枚を選ぶというのが

演出として納得度が高いと思う。

 

カードを選ぶ時点で、裏向きのカードを生成する乱数シードは確定しているので

選んでからカードの裏面を変更したということもありえない。

(ハッシュ値性質上、天文学的に運がよければ選んでからカードの裏面を変更できることもありうるけど、それは隕石が頭に当たって死ぬ以上に無視していい確率だ)

Permalink |記事への反応(0) | 00:37

このエントリーをはてなブックマークに追加ツイートシェア

anond:20240805174429

こうだよ。

1.乱数シードのハッシュ値を事前公開する

2.その乱数シードに基づいた乱数生成をする

3.乱数使用が終わったら乱数シードを公開する。

4.ユーザは公開された乱数シードのハッシュ値が、事前公開されたものと一致することを確認できる。その乱数シードで、2.の乱数生成が再現できることを確認できる。

 

実際には、全ユーザ共通乱数シードとユーザIDを加算して乱数シードにするみたいな仕様になると思う。

ハッシュ値という概念安全パスワード認証データの保存やブロックチェーンの肝でもあるので、これを機に理解しとくといいよ。

Permalink |記事への反応(2) | 00:16

このエントリーをはてなブックマークに追加ツイートシェア

2024-07-04

anond:20240704004337

「生のパスワードで保存されてたり、DBの保存はハッシュ値でもその他のところに生のデータログが残ってる可能性は十分あるって話」

日本語読もうなあ

Permalink |記事への反応(0) | 00:45

このエントリーをはてなブックマークに追加ツイートシェア

anond:20240704001932

sha512が割れるかどうかじゃなくて、生のパスワードで保存されてたり、DBの保存はハッシュ値でもその他のところに生のデータログが残ってる可能性は十分あるって話

Permalink |記事への反応(2) | 00:22

このエントリーをはてなブックマークに追加ツイートシェア

2024-07-01

一周回って、パスワードを全部適当ハッシュ値にして自分記憶しないで、ログイン必要ときパスワード登録する方法とかどうだろう

パスワードはすべて使い捨て

これであれば少なくともパスワード起因の乗っ取りはなくなるよね

メール盗聴されたら終わりとかあるけど、それはもはやパスワード以前の問題だしね

Permalink |記事への反応(0) | 19:19

このエントリーをはてなブックマークに追加ツイートシェア

anond:20240701185249

ハッシュ値で記録してます ->md5

だったらレインボーテーブルで平文特定されるね

Permalink |記事への反応(4) | 18:57

このエントリーをはてなブックマークに追加ツイートシェア

2024-04-25

anond:20240425224100

ビットコインマイニングは、ビットコインネットワークトランザクション確認し、新たなビットコインを生成するプロセスである

これは数学的な問題を解くことによって行われる。具体的には、以下のようなステップが含まれる:

1. 新しいブロック作成マイナー未確認トランザクションから新しいブロック作成

2.ハッシュ計算マイナーは新しいブロックハッシュ計算ハッシュ関数は、任意の長さのデータを固定長のハッシュ値に変換。ビットコインでは、SHA-256というハッシュ関数が使用される。

3.難易度ターゲット比較計算されたハッシュ難易度ターゲット以下であるかどうかを確認難易度ターゲットは、ネットワーク全体のマイニングパワーに基づいて調整される。

4.ブロックの追加:ハッシュ難易度ターゲット以下であれば、そのブロック有効とされ、ブロックチェーンに追加される。そして、そのブロック作成したマイナーは新たなビットコインブロック報酬)とトランザクション手数料を受け取る。

これらのステップを繰り返すことで、ビットコインマイニングは行われる。

このプロセス競争的であり、最初問題を解いたマイナーけが報酬を受け取ることができる。

これにより、マイナーは常に最新のハードウェア効率的な電力供給を求めるインセンティブ生まれる。

Permalink |記事への反応(1) | 22:49

このエントリーをはてなブックマークに追加ツイートシェア

2024-03-08

ビットコインって本当にゴールドなの?

金はだいたい誰が見てもきれいだと思うし価値理解できるけど、

0が並んだハッシュ値を「きれい」だと思う人ってかなり限られると思うのだけど。

Permalink |記事への反応(1) | 23:00

このエントリーをはてなブックマークに追加ツイートシェア

2023-12-17

プログラミング初心者です。以下のコードの誤りはなんですか

僕はプログラミング歴2週間の初心者です。キーと値を入力できるデータベースを作っています

以下のコードを実行してデータを追加し続けると、一定サイズを超えるとエラーが出てしまうみたいです。

理想は、データが追加された後にサイズが足りなくなったら動的に自動拡大されることです。

もし詳しい人がいたらご教示お願い致します。

import sysimportosimportmmapimport hashlibdef h(x):    return int(hashlib.sha512(x.encode()).hexdigest(), 16)def create_db(filename):    withopen(filename, 'wb')as f:        f.write(b'\0' * 1024 * 1024)  # 1MBの空ファイル作成defset_key(filename,key,value):    withopen(filename, 'r+b')as f:mm =mmap.mmap(f.fileno(), 0)pos = h(key) %mm.size()        whilemm[pos:pos+1] != b'\0':pos = (pos + 1) %mm.size()            ifpos == h(key) %mm.size():f.seek(0,os.SEEK_END)                f.write(b'\0' *mm.size())  #ファイルサイズを2倍にするmm =mmap.mmap(f.fileno(), f.tell())  #ファイルサイズを反映させるpos = h(key) %mm.size()  #ハッシュ値を再計算する        data =key + '\0' +value + '\0'        data = data.encode()mm[pos:pos+len(data)] = datamm.close()  #mmapオブジェクトを閉じるdefget_key(filename,key):    withopen(filename, 'r+b')as f:mm =mmap.mmap(f.fileno(), 0)pos = h(key) %mm.size()        whilemm[pos:pos+1] != b'\0':            end =mm.find(b'\0',pos,mm.size())  # 第2引数と第3引数指定する            if end == -1:                end =mm.size()            ifmm[pos:end].decode() ==key:pos = end + 1                end =mm.find(b'\0',pos,mm.size())  # 第2引数と第3引数指定する                if end == -1:                    end =mm.size()value =mm[pos:end].decode()mm.close()  #mmapオブジェクトを閉じる                returnvaluepos = (pos + 1) %mm.size()            ifpos == h(key) %mm.size():                breakmm.close()  #mmapオブジェクトを閉じる        return Nonedefmain():    cmd = sys.argv[1]    if cmd == 'create':        create_db(sys.argv[2])    elif cmd == 'set':set_key(sys.argv[2], sys.argv[3], sys.argv[4])    elif cmd == 'get':print(get_key(sys.argv[2], sys.argv[3]))if __name__ == '__main__':main()

Permalink |記事への反応(0) | 12:13

このエントリーをはてなブックマークに追加ツイートシェア

2023-10-05

[勉強日記][廃人日記] 2023-10-05廃人日記へ移行

異常な幻想の網に捕らわれ、PTSDの闇に沈んでおり、仕事から離脱余儀なくされております

その幻想は、あまりにも鮮烈であったため、現実か夢か、いまだに疑念が拭えぬものとなりました。

認識の糸が紡ぎとどけず、安定した現実がどこに棲むのか、それを問い詰めざるを得ません。

安寧な現実の有り難みを噛みしめております次第でございます

近頃は、数学の奥深さに魅了され、勉強に没頭しております

思考結晶抽象的な形に仕立て上げ、それを操ることは、極めて魅力的であり、しか財政的な負担は一切生じません。

傷病手当金恩恵に浴しており、感謝の念に堪えません。その支給期間が続く限り、職場の扉を閉じる覚悟でおります

この転向した日記は、"勉強日記"のカテゴリーからの移行でございます

"勉強日記"という名は、絶え間ない学びを要求されるという、何とも重苦しい響きがあったため、精神的な疲弊を感じておりました。

"廃人日記"の名に変えることで、統合失調症患者が日々の苦闘を語る場として、うってつけでございます

真正性保証のために、特別プロセスにより、内容にハッシュ値を刻み付けることに決意いたしました。

他のブログプラットフォームも一縷の望みを託しましたが、結局、匿名性の高いダイアリーが最も筆が進むようでございます

私は、被害妄想に囚われると、コンテンツを一掃する衝動に駆られますが、匿名ダイアリーはその記録が永遠に残るという、安心感をもたらしております

hash: 38d8d7e05e9f40a04eec8e6da9f768a3

Permalink |記事への反応(0) | 23:30

このエントリーをはてなブックマークに追加ツイートシェア

2023-05-13

AI生成物の引用ってどうやればいいの?

引用元として「ChatGPTで○○と質問した時の回答」と書いても、同じ質問しても同じ文章で回答してくれないか読み手確認できないでしょ。

画像生成AIも同じプロンプト、同じハッシュ値、同じモデルでも同じ画像を生成してくれないでしょ

それがほんとにAI生成物から引用か分からない。自己申告にしかならない。

Permalink |記事への反応(0) | 17:21

このエントリーをはてなブックマークに追加ツイートシェア

2022-12-04

Chat.OpenAIゲキヤバ。まじでちょっとした処理はググる必要なくなった

俺:

javascript言語で、現在時刻のタイムスタンプからMD5ハッシュ値を出力する関数、timeToMd5 を作ってください

JavaScriptでは、次のような関数作成することができます

function timeToMd5() {  //現在時刻のタイムスタンプを取得しまconst timestamp =Date.now();  //ハッシュ値を出力するために、MD5ライブラリロードしまconstmd5 =require('md5');  // timestampを文字列に変換し、それをMD5ハッシュ値に変換して出力しまconst hash =md5(timestamp.toString());  return hash;}

このような関数作成することで、現在時刻のタイムスタンプからMD5ハッシュ値を出力することができます

ご参考までに。

俺:

nodeコマンドで実行しましたが、"Error: Cannot findmodule 'md5'" というエラーになってしまいました。なにか解決方法がありますか?

質問のように、JavaScript定義した関数を実行すると、"Error: Cannot findmodule 'md5'" というエラーが発生しているようです。

このエラーが発生する原因は、JavaScriptコード内で、MD5ライブラリロードしようとしたときに、そのライブラリインストールされていないためです。

JavaScriptコードで、MD5ライブラリを利用するには、まず、そのライブラリインストールする必要があります

インストールするには、次のように、nodeコマンドを実行します。

$ npm installmd5

このコマンドを実行することで、MD5ライブラリインストールされ、JavaScriptコードから利用することができるようになります

また、JavaScriptコードを実行するには、次のようにnodeコマンド使用します。

$ node [JavaScriptファイル名]

このようにすることで、JavaScriptコードを実行することができます

ご参考までに。

俺:

ありがとうございます。実行できました😁

おめでとうございます!ご質問いただいた内容について、正しく解決されたようで嬉しいです。

しまだご質問があるようでしたら、お気軽にお問い合わせください。今後とも、Assistantをご利用いただけますよう、よろしくお願いいたします。

Permalink |記事への反応(1) | 01:31

このエントリーをはてなブックマークに追加ツイートシェア

2022-11-30

ボクの使ったCS(ジジイの思い出話)anond:20221129085814

まぁ、下っ端プログラマには要らないだろうけど、いわゆるシステムエンジニアとかアーキテクトとか言われるレベル仕事するには、なるべく知っとかないといけないよね。

オレの場合は、大学はかろうじて理系一角だったけど、学問的にコンピュータサイエンスを学んだことはなくて、某IT会社でなかば業務上必要に迫られ、なかば趣味的な興味本位もありで、ちょっとずつ勉強した。

で、もう20年くらい前だし、すでに廃止されてる(と思う)ので、守秘義務違反とかの面倒なことにならなそうだと想定してぶっちゃけると、大手携帯会社ショップで各店舗独自プロモーション打ったりするためのWebシステムの開発に関わったことがある。

顧客の(および自分とこの)エライ人なんかにシステム設計根拠(この方式が最善なのか?もっと安く早くやれる方法はないのか?などなど)を常に問いかけられ、説明説得しなきゃならない。そこでコンピュータサイエンスに基づいて理路整然と話をすると、ちゃんと信頼してもらえるし、納得してカネ払ってもらえるw

そこで使ったのが、以下のような各種理論だ:



などなど...自分史上最高に残業させられたこ仕事やってた年の年収は、900万円台おしくも1000万には届かなかったねぇw

 --追記--

コンピュータサイエンスがらみの思い出でもう一個面白い(とオレが思う)ネタがあるので、ついでに書いとこうw

これは、上で書いた携帯会社システムよりだいぶ前のことになるが、とあるグループウェアの開発に関わってたときメールFAXに向けて出力するドライバを書いたことがある。昔のことなのでオープンソースあんまり普及してないし、タダでお手軽に使えるライブラリが見つからなかったので、「車輪の再発明」っぽいけど自分でハフマン符号化によるデータ圧縮アルゴリズム勉強して作ったのだ。

Win32APIとか呼び出して、ビットマップテキストを描画させたとこからドットをちまちま数えて、白のドットがいくつ続いてたらこコード、黒がいくつ続いてたらあのコード...って可変長のビットパターンをつなぎ合わせてファイルに書き出す...みたいな。これが理論通りにうまいこと動作して、FAXから文書が出てきた時はとっても楽しかったw

Permalink |記事への反応(0) | 15:49

このエントリーをはてなブックマークに追加ツイートシェア

次の25件>
ログインユーザー登録
ようこそ ゲスト さん
Copyright (C) 2001-2026 hatena. All Rights Reserved.

[8]ページ先頭

©2009-2026 Movatter.jp