はてなキーワード: md5とは
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円いかないぐらい。
MUFJのオンラインバンキングを申し込んでみたのだがそこでセキュリティーソフトを推奨された。
こいつだ。http://www.trusteer.com/ja/products/trusteer-rapport-for-online-banking-ja
残難ながらこれのダウンロードリンクはhttpsでは提供されていない。賢明な諸兄はご存知の通りhttpsで提供されていないソフトは信頼しないことが大原則だ。
ファイルがhttpsで提供されない場合はhttpsで提供されているMD5情報などを元にファイルの正当性を確認する必要がある。
何と言っても、オンラインバンキング専用セキュリティーソフトだ。最大限の注意を払う必要がある。
さて、困惑した私は会社のサポートチャットに問い合わせをすることにした。
"httpsで提供されていないソフトウェアをどうやって信頼すればいいのでしょうか?"というのが、はじめの質問である。
以下がそのログの抜粋(担当者のフルネームが表示されていた箇所を「サポート」と伏せている)
サポート: httpsで提供されていないソフトは、インストールの際にソフトウェアのデジタル署名をご確認ください。
増田: Trusteerエンドポイント保護のアンインストール.appを実行する場合はインターネットからダウンロードしたソフトですが信頼しますか?というようなことが表示されますよ。
サポート: はい。アップルストアからの提供品ではないためそのようなメッセージが表示されることもございます。
増田: また、OS Xでは署名はappleが認証したデベロッパーが開発したソフトウェアであることをを証明してもデフォルトでは提供元を表示する機能は無かった様に記憶してますが
サポート: ルート証明が正しければ正しい提供元としてTrusteerが表示されますので、ご確認いただけますでしょうか。
増田: えーと、それはどのようにすればいいのでしょうか?
サポート: 申し訳ございませんが、この内容はRapportのサポート範囲外となりますので、お答えできかねます。インターネット等でお調べいただけますでしょうか。
サポート: 正規のソフトウェアである事をご確認いただくための情報としては、組織に「Trusteer LTD」が表示されていることとなります。
増田: ではもう一点
増田: httpsで接続先が偽物というのはどのような場合でしょうか? 考えられるのは 1.接続先の秘密鍵が漏れている場合 2.接続もと(ブラウザなど)が信頼できない認証局を信頼している 3.サイトがハックされている などのケースが考えられますがどのようなケースを想定していますか?
サポート: サイト自体がハッキングもしくは、ファーミングされたケースを想定しております。
サポート: ファーミングされた場合、偽者のSSL証明書を利用することでhttps接続となりますが、接続先は偽者、となります。
増田: 私がrapport.pkgをinstallしようとする際にはpasswordを求められるまでの間にアプリケーション提供元や署名の表示などは行われませんでしたが、これは問題ないとお考えですか?
増田: おそらくwindowsだと提供もと証明などがでてくるのでしょうけど。
サポート: 署名の表示は、お客様の操作によって表示されるものですので、Macの仕様となります。
増田: なるほど、比較的容易な攻撃方法であるDNSポイゾニングなどで間違った接続先に接続した場合、OSXユーザーは能動的に確認する以外に自衛手段はないということでよろしいでしょうか?
サポート: はい。Rapportを導入していない状況ですので、お客様ご自身の自衛手段となります。
サポート: 予定につきましてはお応え出来かねますが、ご要望として担当部署に伝えることは可能でございます。
増田: OSXユーザーがRapportインストーする際にそのような自衛手段を案内することはRapportのサポート範囲外ですか?
サポート: 申し訳ございませんが、そうなります。ただデジタル署名の情報でしたら先ほどご案内した通りでございますので、デジタル署名をご確認ください。
サポート: また、デジタル署名をご確認いただくことで、ソフトウェア自体に改竄が加えられていないこともご確認いただけますので、http/httpsに関わらず確かな方法となります。
増田: その確認方法は自分で調べないといけないということですか?
サポート: 申し訳ございませんが、ご自身でお調べしていただくようお願い申し上げます。
増田: わかりました、ありがとうございます。 予算さえあれば私でも御社のセキュリティーソフトの偽物を容易に配布できることをよく理解しました。
サポート: お客様への回答は以上となりますが、他に何かご不明な点などはございますでしょうか。
増田: いえ、ありがとうございます。
もともとはUNIXに使われていたCrypt,DESのブロック長が8バイトだったのと
当時はそんなにディスク容量もなかったので便宜上バスワードは8バイトまで。(8バイトで切られる)
という歴史的仕様だった時の名残。今はSHA256かSHA512だから64文字ぐらいまでなら何の問題もない。
もっとも、当のUNIXの世界ではとっくの昔に公開鍵暗号方式とワンタイムパスワードの組み合わせになってるので
直接パスワードを送信したりはしない。
30年か40年ぐらい昔の仕様が今でも残っているのが8文字なんじゃないかなぁ。いくらなんでも、時代に追いついてなさすぎだよね。
ちなみにDESなんてもう使わない。3DESですら脆弱、MD5,SHA-1ですら脆弱と呼ばれる時代っすからね。
ただ銀行系の人は、そんな知識もないでしょ(技術屋じゃないからね)。下手すりゃ証明書はベリサインだよね。とかまだ言ってるとおもう。
彼らの知識を更新するのは、とんでもない重労働だからSEは誰もやらないと思う。そんな事しなくても古い技術で金がもらえるのにわざわざ危険を犯してまで進言する奴はもう銀行業界にはいないだろ。
http://gigazine.net/news/20110707_pyrit/
http://d.hatena.ne.jp/sen-u/20110629/p1
わざわざ再計算しているわけだけども。
saltとか考えるとまぁアリかな。
WPA2も、PMKと呼ばれる512bitのマスターキーを秒間8万9000個
解析可能だそうな。
Zipもあった。
レインボーテーブル方式が使えないのでブルートフォース一択のはずだが、
http://www.youtube.com/watch?v=3dEN9JQ3R0U
秒間6億3千万?
ひたすらクラックしているんだろうけど、
GPUってすごい。。
試しにPIKAZIPでやってみるとCorei7で秒間600万ちょいなので約100倍。
うーん。
なんか他の使い方ねーのかな。。
dwang厨が無謀にもfroyoを入れてみる記録のページ。
結局CM6-RC1+yay-gapps で落着きそうな雰囲気。
dwang-1.17.1
→ eMonster用に使ってた sandisk 2GB (メモ)
7/9 にリリースされているもの
ext partition 要対応? とおもったら仏語じゃねーか
@kenmood
Wifi OK
どっかから落した20090801-docomo-ht-03a.rar のうち、boot, cache, data, system のみをnandroidで復旧してみる。nandroid.md5 の復元も忘れずに。
手順
追加手順:
http://www.androidinforum.fr/htc-dream-android/froyo-french-connection-100-t1742.html#p6156
partition: swap 160M, ext 500M, 残り vfat がおすすめとな。
何度か丹念に「目標をwipeしてreboot」を繰り返してたら安定した気がする。
豆腐をfont入れ、localeをlibicudata.so の入れ替えで対処 (できるかな? reboot中)
→ libicudata.so は入れかえちゃダメ。起動しなくなる。recoveryで起動して/systemをマウントしてことなきを得る。
2010-07-11 追記
2chでも報告されているとおり、wlanが使えない。あと細かい話だけど、live wallpaperが使えない気がする。メモリが足りないだけかもしれないけど。
marketが死にまくる (acoreが死ぬ)。ほかにも死にまくるけど、何故かはよくわからない。とりあえず体験はできるけど、まだ常用には至らないかも。
(安定している、と言っている人もいる)
2010-07-11 追記
zip落してきて上書きinstallしてみた。なんか日本語fontが消されたんだけど(ぶー!)
ちなみに日本語fontはM+を利用してます。
数時間つかった限りでは、他人にお勧めできるほどじゃないけど何とか使いものになるかも。dwangの環境はnandroidでしかバックアップしていないので、手作業でアプリなどは手作業で復帰する予定。
(2010-07-11 午後5時追記)
どうもSPF Connectionが安定しないのと、ベースがCM6ということで、まずはベースに近いほうが良いだろうと
CM6-RC1を焼いてみる(この項続く)
http://www.cyanogenmod.com/home/cyanogenmod-6-0-0-rc1
E/AndroidRuntime( 2000): FATAL EXCEPTION: UpdateCheckinDatabaseService
E/AndroidRuntime( 2000): java.lang.SecurityException: Permission Denial: writing com.google.android.gsf.settings.GoogleSettingsProvider uri content://com.google.settings/partner from pid=2000, uid=10036 requires com.google.android.providers.settings.permission.WRITE_GSETTINGS
すぐ直りそうではあるけど。
(エラー内容から察するに、installされたapkの記録をgoogle accountに書き込めない)
c.f. http://forum.xda-developers.com/showpost.php?p=7139560&postcount=109