はてなキーワード: MD5とは
おまえ、言ってること無茶苦茶
「これは今でも誰かがWebサービスに使いうる可能性がゼロではないでしょという意味で言っている」
だったら、平文保存されてる可能性もあるだろ?というか実際翡翠SINGSが平文保存で大炎上したばかりだ
平文保存されてる可能性もある以上、脆弱な暗号化を利用するという意味合いでMD5を持ち出す意味はない
「実際他のトラバ見てると、誰かがワードプレスエンジニアを揶揄しているように」
ワードプレスエンジニアの揶揄は暗号化の話とは関係ない、話をごっちゃにするな
「一つ平文がバレると推測できるようなパスワードではなく、ランダムなパスワードを使うべきじゃないのと言いたいわけ」
ランダムパスワードでもマスターキーが漏れる可能性が散々指摘されてるのに、
それをスルーしている時点でお前の言ってることは詭弁に過ぎない
最後に言うけど、この書き込み一つで発達障害増田なのがわかるので、
知ったかをやめろ
「実質平文保存と同じだよねと言いたかったんだけど」
と
おまえは、md5にどういう姿勢で意見を言ってるのかが文章の部分部分でぶれてるんだよ
だから叩かれてるんじゃね?
なんかめっちゃボロクソ叩かれてる理由が分からないから後学のために教えて
バカなwebサービスが弱い暗号学的ハッシュ関数を採用してたら実質平文保存と同じだよねと言いたかったんだけど
誰でも分かる弱いハッシュ関数の代表であるmd5を言及したら何で叩かれるの?
四半世紀前なのが気に入らないならSHA2でも何でもいいけど、文脈上SHA2だと弱いハッシュ関数というのが分かりにくいよね
なんでいまどきMD5前提なの?SHA2でいいじゃん
md5なんか完全に非推奨やんけ
俺:
javascript言語で、現在時刻のタイムスタンプからMD5のハッシュ値を出力する関数、timeToMd5 を作ってください
JavaScriptでは、次のような関数を作成することができます。
function timeToMd5() { // 現在時刻のタイムスタンプを取得します const timestamp = Date.now(); // ハッシュ値を出力するために、MD5ライブラリをロードします const md5 = require('md5'); // timestampを文字列に変換し、それをMD5ハッシュ値に変換して出力します const hash = md5(timestamp.toString()); return hash; }
このような関数を作成することで、現在時刻のタイムスタンプからMD5のハッシュ値を出力することができます。
ご参考までに。
俺:
nodeコマンドで実行しましたが、"Error: Cannot find module 'md5'" というエラーになってしまいました。なにか解決方法がありますか?
ご質問のように、JavaScriptで定義した関数を実行すると、"Error: Cannot find module 'md5'" というエラーが発生しているようです。
このエラーが発生する原因は、JavaScriptのコード内で、MD5ライブラリをロードしようとしたときに、そのライブラリがインストールされていないためです。
JavaScriptのコードで、MD5ライブラリを利用するには、まず、そのライブラリをインストールする必要があります。
インストールするには、次のように、nodeコマンドを実行します。
$ npm install md5
このコマンドを実行することで、MD5ライブラリがインストールされ、JavaScriptのコードから利用することができるようになります。
また、JavaScriptのコードを実行するには、次のようにnodeコマンドを使用します。
$ node [JavaScriptのファイル名]
このようにすることで、JavaScriptのコードを実行することができます。
ご参考までに。
俺:
ありがとうございます。実行できました😁
おめでとうございます!ご質問いただいた内容について、正しく解決されたようで嬉しいです。
もしまだご質問があるようでしたら、お気軽にお問い合わせください。今後とも、Assistantをご利用いただけますよう、よろしくお願いいたします。
ヒロインがどうこうじゃなくてこれの特撮観みたいなのが基本的にSSSS.GRIDMANの制作チームと近い感じなのじゃないかなあ。
だから古いゴジラとか特撮ファンからは違和感を表明されてたりとか。
30代とか40代のスタッフからしても「特撮」の中心はゴジラじゃないんだよな。今は。
アニメの制作スタッフ(円城塔ふくめ)「シュミレーション」を指摘しない入力フロントエンド使ってんだな・・・とちょっと不思議な気分になった。
あと4話のMD5ハッシュのくだり、テレビで見てて言いたいこと伝わった人どのくらい居るんだろ・・・とも思った。
今のアニメ、確かにタランティーノ以降の映画みたいに一時停止、巻き戻し、SNSで・・・みたいなの前提ではあるんだろうけど。
JPKIMobile(jp.go.jpki.mobile.utility)と同じ署名を持つグループ
証明書[1]:
所有者: CN=Japan Agency for Local Authority Information Systems, OU=User client application for Android, O=Japan Agency for Local Authority Information Systems, L=Chiyoda-ku, ST=Tokyo, C=JP
発行者: CN=Japan Agency for Local Authority Information Systems, OU=User client application for Android, O=Japan Agency for Local Authority Information Systems, L=Chiyoda-ku, ST=Tokyo, C=JP
有効期間の開始日: Fri Aug 12 14:51:15 GMT+09:00 2016終了日: Sun Aug 11 14:51:15 GMT+09:00 2041
MD5: B5:16:A7:CE:B9:AC:42:70:89:0C:0B:7A:90:93:F8:6B
SHA1: 98:76:11:8F:5D:CD:2E:70:63:C1:1F:E5:48:CB:EB:ED:33:A1:CF:93
SHA256: A9:32:34:5D:B8:E9:E9:B3:FA:FE:FE:84:C0:EE:6E:A2:B8:5D:38:FF:B9:58:24:3E:C7:75:00:1B:E6:6B:4A:67
バージョン: 3
マイナポータルAP(jp.go.cas.mpa)と同じ署名を持つグループ
証明書[1]:
所有者: CN=Android, OU=Android, O=Google Inc., L=Mountain View, ST=California, C=US
発行者: CN=Android, OU=Android, O=Google Inc., L=Mountain View, ST=California, C=US
シリアル番号: 397894eb0dfabe4f486ef8962795f7584d73a6dd
有効期間の開始日: Mon Aug 28 10:11:52 GMT+09:00 2017終了日: Wed Aug 28 10:11:52 GMT+09:00 2047
MD5: D1:54:F3:D6:E0:F1:86:3F:37:DD:46:7A:D8:71:C9:00
SHA1: EC:41:03:27:68:75:7D:31:25:00:ED:19:3D:C1:00:80:C2:14:B3:85
SHA256: AB:57:C0:63:26:50:E1:D8:48:8C:D8:88:6C:19:5D:3E:43:95:8B:C4:0F:4F:0A:B1:6D:CA:26:49:D9:76:A5:14
バージョン: 3
ISUCON 9 参加記 - kyuridenamidaのブログ
ISUCON9 レギュレーション違反の対応について [追記あり] : ISUCON公式Blog
「パスワードを平文で保存すること禁止する」というレギュレーションに対して、「パスワード+#」が違反したと見なされたのが最初の見解。
ここでいう「平文」が出てくる文脈は、初期実装のbcryptからも明らかなように暗号理論の文脈だと考えられる。ここに疑念を挟む人はまずいないだろう。
そして暗号理論の文脈で言う「平文」とは明確な定義があり、今回で言えば「パスワード文字列そのもの」だ。
これは学問的には異論の余地がないので、このことを知らなかった人や、どっちもどっち論に立っていた人は、素直にごめんなさいすべきだ。
たとえば以下のツイート主が主張するような「原理的に元に戻せるのは全部平文」なんて定義は暗号理論では受け入れられていない。複合可能なら全部平文なの?
どこまでが平文って、そりゃ原理的に元に戻せるのは全部平文でしょ。Base64で保存してたパスワードが流出しました!でも平文じゃないから安全です!とでもいうのかよ(´・_・`)いやまじで。— Hideyuki Tanaka (@tanakh) September 11, 2019
もう話はここで終わってもいいのだが、まだまだ論点があるので続ける。
この立場に立っている人も結構いるように見かけたが、レギュレーションからそれが読み取れないので無理がある。
第一に、レギュレーションでは暗号強度に関して全く触れられていない。
第二に、OKな暗号強度の線引きがあるのならベンチマークでチェックすべきだ。
特に後者は今回(自分の知る限り)誰も言っていなかった気がするが、セキュリティの側面も持たせるのなら仕組みで担保しなきゃダメだろう。
運営側が想定していたレギュレーションが、平文よりも高い暗号強度での保持であったとしても、そのことが明確にわかる文章になっていないので、レギュレーション文言の実装バグとしか言いようがない。
実はこの立場で運営を擁護していた人が一番多かった気がしてしまうのだが、見事にハシゴを外されてドンマイとしか言いようがない。
たとえば有名人だとこの人とか。
平文保存がルールに抵触したかどうかは全く興味ないけど、「パスワードの末尾に#つけてから保存してたから平文じゃないです」っていうのは言い訳としては成り立たないよね。ウェブアプリケーション開発者・運用者として、仮にパスワードデータベースが流出したとして、顧客にそう言えるの?っていう— Kazuho Oku (@kazuho) September 11, 2019
残念ながらISUCON運営公式の言説として、平文とまではいかなくても暗号強度を犠牲にすることは想定内であったことがアナウンスされている。
bcryptによる負荷の対処方法として、サーバを追加、軽量なハッシュ関数での代替、あるいは平文での保持を開発チームにおいて想定しましたが、現実の問題として、パスワードなどの情報流出などの事件が発生しており、平文での格納は一般的に推奨されない実装方法だという認識を同時に持ちました。
ウェブアプリケーション開発者として、みたいなことを大上段に出されても、ISUCONは現実のウェブサービスであれば許容できないようなハックを用いてでも高速化するコンテストである、という文脈は、それこそ過去のISUCONで確立されてきたものなわけで、ISUCONを知らないのなら黙っといたほうがいい、としか言いようがない。
なお実サービスでは当然やらないことをやるのはどうよ、みたいな話を持ち出すと、今回おそらく運営の脳内レギュレーションではMD5あたりもOKだったのでは、という辺りを考え出すと、やはりどこがラインなのか明確じゃないよねって話に結局なる。(2019年にMD5を許す実サービスは流石にないよね?)
そこを明確にしたいなら文章化(脳内レギュレーションの実装)をがんばるか、ベンチマークなどで担保するしかなかったという結論は変わらない。
それが出来ないなら何でもありになるのは当然の帰結だし、それを美学だとかプライドだとか個々人の価値観が大きく異なる概念で縛ろうとするのは、こと競技に関しては真摯な姿勢ではない。
(たとえば大相撲のような競技でも、横綱が変化しちゃダメという美学に関して喧々諤々な議論が起きたりする)
王道はこれ。
脳内レギュレーションを明文化できていなかった、という反省を踏まえて次がんばるしかない。
今回は他チームから問い合わせがあったらしいが「平文」の定義をきちんと調べさえすれば、想定していた回答ではないが「パスワード+#」は平文ではないので今回のレギュレーション違反には当たらない、という結論を伝えるべきだったように思う。
現実的な落とし所はこっちだったかもしれない。おそらく該当チームも、これなら反発はしなかったんじゃないか。
ということで騒ぎは終わりにしたい、という気持ちに関しては多くの人の一致を見るはずだ。
一方で運営側の朝令暮改のような対応に不信感や疑問を持つ人が多いのも事実だと思う。
ボランティアでがんばってるんだから目を瞑ろう、という感情的な意見もまあ分かる。お疲れ様だ。
またこれは個人的な見解だが、特に今回の予選問題は過去最高傑作と言っても過言ではないくらいよく出来ていると思うし、流通額をスコアとするビジネス上の目的を意識させるというメッセージ性も素晴らしいと思うので、今回の一件を持って問題作扱いされてほしくない気持ちは正直ある。
でもきちんと総括しないで先に進んでも誰も幸せにならないのもまた事実だと思う。
ということで、運営側はレギュレーション文言がバグっていたことをちゃんと認めて、該当チームに落ち度が全く無かったことを謝罪した上で、次に進んでほしい。
競技中に質問に答えなかったこと、参戦後のブログを根拠に裁定をくだしたことも悪手だと思うが、それ以上に、「レギュレーション違反はなかった」ことをきちんと伝えて名誉回復してあげるのが一番の筋のはずだ。
Mr87F®︎🤱みーさん
@Mr87F
朝から、5歳の長男のおねしょに対して「なんでおねしょしたと思う?なぁ。説明してみろよ」と子供に暴言を吐く夫。
何度も聞くし、そもそも子供がおねしょを制御できる訳ないでしょ、やめなよ、と言うと
「はぁ?生意気言ってんじゃねーよ」とリモコン2つ投げられた。これ2回目。まじ離婚の文字が浮かぶ
https://i.imgur.com/EDsUx4A.jpg
https://i.imgur.com/HY22vHL.jpg
https://i.imgur.com/Qz086kM.jpg
1.5万
件のリツイート
3万
件のいいね
Mr87F®︎🤱みーさん
@Mr87F
しかも、最悪なことにうちの旦那の職業は街を守る人ですよ。変なところで正義感だけ強く、どちらかというと成敗してやるってタイプだから終わってます。
証拠は保管しておきます!ありがとうございます!
https://s.kyoto-np.jp/politics/article/20190614000180 👀
Rock54: Caution(BBR-MD5:1341adc37120578f18dba9451e6c8c3b)
大人向けのエンタメな動画をキュレーションするサイトを作ってみました。
18歳未満の人はみちゃだめです
このサイトはRailsで作ってherokuに乗せてみたんですが、いかんせん遅い。
もちろんherokuは札束で叩けばいくらでも早くなるんだけどそんなに予算もないし、そもそもそんなお金あったらこんなことしてない。
なのでどうにかしてお金を掛けずにサイトを高速化する方法を考えてたら1つアイデアが浮かんだのです。
それはサイト全体をCDNのCloudfrontに突っ込んでしまう事。
ルートドメインのDNS設定のCNAMEで、Cloudfrontのドメインを指定します。
そしてCloudfrontのオリジンをherokuのドメインに指定する。
こうすることでCSSとか画像ファイルだけでなく、HTMLも含めて全部のファイルをキャッシュすることができます。
そしてCloudfrontの設定で、HTMLファイルは10分とか1時間とか割と短めに設定して、
CSSとかJSとかは、Railsで作っているとMD5キャッシュが効いていて、勝手にキャッシュが無効化されるので、
1か月とかを指定すればよい。
効果としては、heroku単体でやるとHTMLファイルの応答が600msぐらいかかっていたのが、Cloudfrontでキャッシュさせると60msぐらいで帰ってくる。
もう超早い。10倍速い。
あとgzip配信したいので、gemでheroku-deflaterを入れる。
このgemはすごくて、herokuに乗っていると勝手にgzipに圧縮してくれる。
これによってCloudfrontの利用料を節約する。
僕のサイトの場合、このherokuのサーバーから配信しているのは、HTMLとCSSが1ファイルとあと画像が1つで合わせて10kBぐらいしかない。
こんだけだと、Cloudfrontの料金は100万PVでも1000円いかないぐらい。