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

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

2017-09-11

https://anond.hatelabo.jp/20170910205249

まじな話をすると、N予備校プログラミング入門コースやるのがオススメ

https://www.nnn.ed.nico

一日8時間勉強時間があるなら、だいたい一ヶ月で終わる内容。

月額1000円だけどしっかり勉強すれば一ヶ月の無料間中に終わると思う。

もともとN高等学校のノンプログラマーの生徒をWebエンジニアとして就職させるために作られたカリキュラム講師曰く去年はこれで二人エンジニア就職を決めたらしい。

内容も相当親切に説明していて、プログラミングで何か作るだけじゃなくて、就職必要な環境構築やセキュリティまでみっちりやる。

http://qiita.com/sifue/items/7e7c7867b64ce9742aee#%E3%82%B3%E3%83%B3%E3%82%BB%E3%83%97%E3%83%88%E3%82%92%E3%82%82%E3%81%A8%E3%81%AB%E6%A7%8B%E6%88%90%E3%81%95%E3%82%8C%E3%81%9F%E3%82%B3%E3%83%BC%E3%82%B9%E3%81%A8%E5%86%85%E5%AE%B9

講師が書いてる入門コースで習うことがまとめ。テキスト教材もあるけど授業も1項目を2時間で説明している。授業は週2の生放送とそのアーカイブがある。

↓みたいなことが学べる

----

Webプログラミング入門コース

Web ブラウザとは (Chrome, デベロッパーコンソール, alert)

はじめてのHTML (VSCode, HTML, Emmet)

さまざまなHTMLタグ (h, p, a, img, ul, tableタグ)

HTMLで作る自己紹介ページ (HTMLタグ組み合わせ, コンテンツ埋め込み)

はじめてのJavaScript (JS, ES6, エラー)

JavaScriptでの計算 (値, 算術演算子, 変数, 代入)

JavaScript論理を扱う (論理値, 論理積, 論理和, 否定, 比較演算子, if)

JavaScriptループ (ループ, for)

JavaScriptコレクション (コレクション, 配列, 添字, undefined)

JavaScript関数 (関数, 関数宣言, 引数, 戻り値, 関数呼び出し, 再帰)

JavaScriptオブジェクト (オブジェクト, モデリング, プロパティ, 要件定義)

はじめてのCSS (CSS, セレクタ, background-color, border)

CSSを使ったプログラミング (transform, id, class)

Webページの企画とデザイン (企画, 要件定義, モックアップ, 16進数カラーコード)

診断機能の開発 (const, let, JSDoc, インタフェース, 正規表現, テストコード)

診断機能組込み (div, 無名関数, アロー関数, ガード句, truthy, falsy)

ツイート機能の開発 (リバースエンジニアリング, URI, URL, URIエンコード)

Linux開発環境構築コース

LinuxというOS (VirtualBox, Vagrant, Ubuntuインストール, OS, CUIの大切さ)

コンピューター構成要素 (ノイマンコンピューター, プロセス, lshw, man, ps, dfの使い方)

ファイル操作 (pwd, ls, cd, mkdir, rm, cp, mv, find, ホストマシンとの共有ディレクトリ)

標準出力 (標準入力標準出力標準エラー出力パイプgrep)

vi (vimtutor)

シェルプログラミング (シバン, echo, read, 変数, if)

通信ネットワーク (パケット, tcpdump, IPアドレス, TCP, ルーター, ping)

サーバークライアント (tmux, nc, telnet)

HTTP通信 (http, https, DNS, hostsファイル, ポートフォワーディング)

通信をするボットの開発 (cron, ログ収集)

GitHubウェブサイトの公開 (GitHub, リポジトリ, fork, commit, 情報モラル)

イシュー管理とWikiによるドキュメント作成 (Issues, Wiki)

GitとGitHub連携 (git, ssh, clone, pull)

GitHubへのpush (init, add, status, インデックス, commit, push, tag)

Gitのブランチ (branch, checkout, merge, gh-pages)

ソーシャルコーディング (コンフリクト、プルリクエスト)

Webアプリ基礎コース

Node.js (Node.js, nodebrew, Linux, REPL, コマンドライン引数, プルリク課題)

集計処理を行うプログラム (集計, 人口動態CSV, Stream, for-of, 連想配列Map, map関数)

アルゴリズムの改善 (アルゴリズム, フィボナッチ数列, 再帰, time, プロファイル, nodegrind, O記法, メモ化)

ライブラリ (ライブラリ, パッケージマネージャー, npm)

Slackボット開発 (slack, mention, bot)

HubotとSlackアダプタ (hubot, yo)

モジュール化された処理 CRUD, オブジェクトライフサイクル, filter)

ボットインタフェースとの連携 (モジュールのつなぎ込み, trim, join)

同期I/Oと非同期I/O (同期I/O, 非同期I/O, ブロッキング)

例外処理 (try, catch, finally, throw)

HTTPサーバー (Web, TCPとUDP, Webサーバーの仕組み, Node.jsイベントループ, リスナー)

ログ (ログ, ログレベル)

HTTPのメソッド (メソッド, GET, POST, PUT, DELETE, CRUDとの対応)

HTMLフォーム (フォームの仕組み, form, input)

テンプレートエンジン (テンプレートエンジン, jade)

HerokuWebサービスを公開 (Webサービスの公開, heroku, dyno, toolbelt, login, create, logs)

認証利用者を制限する (認証, Basic認証, Authorizationヘッダ, ステータスコード)

Cookie を使った秘密匿名掲示板 (Cookie, Set-Cookie, expire)

UI、URI、モジュール設計 (モジュール設計, フォームメソッド制限, リダイレクト, 302)

フォームによる投稿機能の実装 (モジュール性, textarea, 303)

認証された投稿の一覧表示機能 (パスワードの平文管理の問題, 404, テンプレートのeach-in)

データベースへの保存機能の実装 (データベース, PostgreSQL, 主キー)

トラッキングCookieの実装 (トラッキング Cookie, IDの偽装, Cookie の削除)

削除機能の実装 (データベースを利用した削除処理, 認可, サーバーサイドでの認可)

管理者機能の実装 (Web サービス管理責任, 管理者機能の重要性)

デザインの改善 (Bootstrap, レスポンシブデザイン, セキュリティの問題があるサイトを公開しない)

脆弱性 (脆弱性, 脆弱性で生まれる損失, 個人情報保護法, OS コマンド・インジェクション)

XSS脆弱性対策 (XSS, 適切なエスケープ処理, リグレッション)

パスワード脆弱性対策(ハッシュ関数, メッセージダイジェスト, 不正アクセス禁止法, パスワードジェネレーター, 辞書攻撃)

セッション固定化攻撃脆弱性対策 (セッション, セッション固定化攻撃, ハッシュ値による正当性チェック)

より強固なセッション管理 (推測しづらいセッション識別子, 秘密鍵)

CSRF脆弱性対策 (CSRF, ワンタイムトークン)

安全なHerokuへの公開 (脆弱性に対する考え方, HTTPの廃止)

Webアプリ応用コース

Webフレームワーク (Express.js, フレームワーク導入, 簡単なAPI, セキュリティアップデート, Cookie パーサー, ミドルウェア, 外部認証, ロガー)

ExpressのAPI (app, Properties, Request, Response, Router)

GitHubを使った外部認証 (Passport, OAuth)

スティングフレームワーク (Mocha, レッド, グリーン, リファクタリング)

継続的インテグレーション (CircleCI)

クライアントフレームワーク (Webpack, Chrome 以外のブラウザでもES6)

DOM操作フレームワーク (jQuery, jQueryアニメーション, this)

AJAX (jQuery.ajax, クロスドメイン, 同一生成元ポリシー, x-requested-by, CORS)

WebSocket (WebSocket, WebSocketの状態遷移, Socket.io)

RDBとSQL (DDL, DCL, CREATE, DROP, INSERT, DELETE, UPDATE, WHERE)

データモデリング (リレーショナルモデル, 正規化)

テーブルの結合 (外部結合, 内部結合, 片側外部結合, JOIN ON)

インデックス (インデックス, 複合インデックス, Bツリー)

集計とソート (SUM, COUNT, ORDER BY, GROUP BY)

「予定調整くん」の設計 (要件定義、用語集、データモデル、URL設計モジュール設計、MVC)

認証とRouterモジュールの実装 (Mocha, supertest, passport-stub, モックテスト)

予定とユーザーの保存 (セキュリティ要件, UUID, 複合主キー)

予定とユーザーの一覧の表示 (非同期処理, Promise, then)

出欠とコメントの表示 (入れ子の連想配列, Promise.all, 子どもからデータを消す)

出欠とコメント更新 (Promiseチェイン, リファクタリング)

予定の編集と削除 (要件の衝突, 関数再利用)

デザインの改善 (this, グローバルオブジェクト)

セキュリティ対策と公開 (X-Frame-Options, Heroku環境変数)

2017-07-18

https://anond.hatelabo.jp/20170715231139

ハッシュ値について

ここから→** 希望

 一点のみ、ゲームの実力が分断してしまったことについて、サーモンランがそれを解決する可能性があることは一緒に指摘しておこう。

 サーモンランの co-op によって基本操作力が向上するのであれば、それを繰り返すことで、実力の向上する楽しさを得ることができるかもしれない。

 そのためには、廃人が協力してあげようと思うくらいのインセンティブ必要で、それをどの程度提供することができるのか、割とそこにすべてがかかっていると言ってもおかしくはない。←ここまで

 以下のサイトコピペして入れると、その値(20c434365134990e6ae6f88a5fe48004)になります。単に伏せてた所についての予告文字列です。



……というわけで、元エントリにはこれを続けていました。

希望

 一点のみ、ゲームの実力が分断してしまったことについて、サーモンランがそれを解決する可能性があることは一緒に指摘しておこう。

 サーモンランの co-op によって基本操作力が向上するのであれば、それを繰り返すことで、実力の向上する楽しさを得ることができるかもしれない。

 そのためには、廃人が協力してあげようと思うくらいのインセンティブ必要で、それをどの程度提供することができるのか、割とそこにすべてがかかっていると言ってもおかしくはない。

 以上、ハッシュ値説明でした。後はチラ裏。後付けエントリは伸びない。

反応を眺めて色々感想など
10年経ってから言え」

 はいその通りです。すみません

 1年も経たないうちから「今後10年戦えるIP」とか書いてる人がいたので、逆を張っても良いのかなと思ってやってみました。

サーモンランについての言及

 300近いブクマの中で6件だけ。意外とみんな興味がない?

スマブラについて

 ゲームキューブの時もWiiときWii Uの時も、早期から「新ハードで出すよ!」って牽引の材料にしていたものが、現在まで一切アナウンスされていないので心配しています

実力差の解消について

 上に書いたけど、サーモンランで操作に慣れる&自分好みのギアを得られるようになって、そして次はバトルにいける、みたいな流れができたら良いと思う。

 あとは正しいレーティングによるマッチの割り当てだけど……これはどのゲームでも課題になっているところと言うか越えられない壁なので、勝ち負けによらない楽しい体験をどんだけ提供できるかだと思う。勝率の平均はどう頑張っても5割なので。

Miiverse がない

 言われて気づいた。確かにさみしくなりそう。

Switch 売ってない

 転売サポートするシステムが全部死ねば良いのにね。ヤホクとかメルカリとか。

衣服とか文具とか関連商品について

 コロコロコミックの連載もだけど、確かにちゃんと商品展開やってますね……3日後、遊びたいと思っている子供たちにちゃんと届くと良いですね。

2015-06-07

年金情報漏れたとか騒がれてるが一般企業も同レベルなので今は標的型攻撃対象になってないだけで、狙われたら簡単にやられると思う。exe形式の実行ファイルについては安全確認されているもの以外は実行してはいけないのは当たり前なんだけどマジでそれをやろうとするとバイナリハッシュ値を事前にデータベース化して管理して許可されたものだけを実行するようにしないといけない。そうなると世間に出回っているフリーソフトとか全部許可制にしないといけない。アップデート等でバイナリ更新されるたびに解析して登録しないといけないので大変だけどそういうサービス需要があるきがする。

そもそも出回っているフリーソフトの中にも怪しいものはあるので、そうすべきなんだけど。俺の使っている中華製のOrbitかいダウンロードツールも怪しい(前にDDoS攻撃発信元という噂になってた)から使わないほうがいいんだけど、FWで外向きの通信を許可しない設定にして使ってる。その辺のセキュリティの知識まで一般の人に要求するのは無理なのでバイナリハッシュ値ベース許可制にするしかない。管理側は大変だけど、それ以外は無理。

exe以外でも普通にウィルスとかオフィス形式ファイルに組み込まれているものもあるので個別対策がいるんだけど。実際exeを実行しないだけで結構防げると思う。後はWordとかExcelみたいなファイルクラウド上での利用だけにしてローカルに落とさないとかしないといけない。面倒だけど。

後はメール自体オワコンシステムなのでメールなくせばいいと思う。発信者特定できないんだから。。。

2014-11-20

増田やすくするChrome拡張バージョンアップ(返信ボタン追加)した

http://anond.hatelabo.jp/20141112215920

コンパクトな増田 - Chrome Web Store

オプションに返信ボタンを追加できる項目を追加した。

オプション有効にしても、ログインしてないと表示されない。

記事の詳細ページでもボタンが出るようにした。

本当は本文の下にフォーム埋め込みたかったんだけど、色々があってwindow.open()になった。

利点
  • ページ遷移なく返信できる。
  • 本文見ながら返信を書けるできる。
  • 返信用URLいちいちコピペする必要なし。
欠点


それから

折りたたみ処理が失敗するのを1時間前に発見したのでバグ修正

拡張適用してない時でも下線が出るところを修正

あと細かいところは忘れた

いろいろ

本当は本文の下にテキストボックス2つ追加して返信できるようにしたかった。日記を書くのフォームの中を覗いたらユーザー固有(未検証)?のハッシュ値みたいなのがhiddenにフィールドに入ってた。当然、その値を一緒にPOSTしなきゃ動かないだろうから未検証)その値を拡張から取得しようと思ったんだけど、お手軽に取得する方法を思いつかなかったので、フォーム自作する方法はやめた。

次に、Ajax日記フォーム取得してそれを埋め込んでやろうとしてコードを書いてみた。日記編集ページをAjaxで取得しようとしたら増田トップページリダイレクトされたので、どうやらAjaxは弾かれるみたいだ。というわけでこの方法も失敗。

あとはiframeを埋め込むか、window.open使うかぐらしか思いつかなかった。iframe使いたくなかったのでwindow.openになった模様。

2014-08-01

http://anond.hatelabo.jp/20140801220301

真面目に答えてやる。

「群盲象を撫でる」って諺は知っているな?

目の悪い人たちが、それぞれ象の一部分をさわりながら「これは固いから板だ」「いやいや、尖ってるから槍だ」「いや、モコモコしてるから毛だ」って議論する話だ。

もちろんその人達の判断は誤っていて、でもそれぞれの特徴は正しくて。そして、全てを足すことで象になるってわかってみんな納得する話やね。

連想ゲームでもよくあるだろ。「朝は4本足」「昼に2本足」「夜に3本足」これなんだ?

まり、いくつかのユニークな特徴を組み合わせることで唯一の答えにたどり着けるんだ。

文章ハッシュ化」っていうのも、同じように特徴を抽出することで行う。

例えば、「低能」「馬鹿」「ブサヨ」のような頭の悪いキーワードが多く使われてたとするだろ。

これを「頭の悪いキーワードフラグ」として1ビットで扱う。

その他、一人称が「僕」だったりしたら「一人称が僕フラグ」として1ビットで扱う。

行末に句読点があったり無かったりするだろう。「行末句読点フラグ」として1ビットで扱う。

それらを集めていくことで、特徴量の集まったフラグの固まりが出来る訳だ。

その特徴量は、多くても128ビット程度で、少なければ32ビットや64ビット程度に納まる。

まり、世の中の全ての文章フラグ数^2種類に分別してしまう、ってことをさしているのだよ>ハッシュ

で、これを照合する際もそんなにコスト必要ない。

データに対してあらかじめ上記の手段ハッシュ化しておいたものと、今まさに照合しようとしている文章ハッシュビット演算すればいいだけなのだ

一番簡単な計算で言うと、「元データハッシュ - 照合データハッシュ」が0になったものは、つまり「スゴく似ている。ほぼ同一の文書 」と看做すことが出来る。

ちょっと捻って「! (元データハッシュ XOR 照合データハッシュ)」ででてきた値の立っているビットを数えることで「似ている度合い」が分かる。

立っているビットの数が0なら全く同じで、ビットの数が少なければ少ない程似ている度合いが強いということになる。

元のビット数が少ないのだから演算に罹るコストなんてごく僅か。100万レコードでも1秒以内に処理は完了出来る。

ハッシュ値を格納するだけなんだからDBなんか使わずともオンメモリでも処理出来る。

ともかく、どんなデータでもMD5()とかSHA1()とか使って情報圧縮してしまえばええんじゃ。

(この方式だと近いデータは求められんが)

2014-04-30

2chトリップみたいのを増田につけるには

2ちゃんねるのようにサイト内で完結した証明は無理だが

1、何らかの文字列ハッシュ値にしたものさらしつつ書き込みをする

ff74f78c80ade36037cc1f362276d64d7cfe3660

書き込みしてやんよ

2、自己証明必要になったら、ハッシュ法と文字列さらしつつ、別の文字列で作ったハッシュ値さら

増田sha1 UTF-8

http://anond.hatelabo.jp/xxxxxxxx に書き込みしたのオレだよオレ

a2656246d49b9f9944ac638d0f99aa2291ad7082

あとはこの繰り返し。トリップ原理も同じだと思うが、ハッシュ値から元の文字列計算するのは無理に近いので有効のはず。

オンラインハッシュ値計算ツールを公開しているサイトさらすとなおいい

http://www.oni-tools.com/tools/sha1

2014-04-02

http://anond.hatelabo.jp/20140402120143

符号化って分かるか? 例えば年収299万9999円と年収300万円の人がいたとするよな。

それは年収って括りで見て「年収が違う人」って見るか? 299万と300万で税制などにより実際の手取り全然違うならそういう話にもなるけど、

実際は無いよな? 結局それらは「年収300万前後の人」って括りで符号化されるんだよ。

同じことで、価値観と言うのが細かいところでは全体的にユニークだったとしても、符号化してハッシュ値が同じだったら

それは「同じ」って扱いになるんだよ。

さな違いを同じハッシュに纏められるようにするために「宗教」っていう補正器具があんの。分かる?

お前がオーオタだったり「クオリア」とか謎の言葉を発する手合いなら仕方のない話ではあるがね。

2014-01-27

http://anond.hatelabo.jp/20140127113618

漏れがやろうとして出来てないことなんだけど、

・1記事ごとにmecabで使用されてるワード抽出

・使用頻度上からつのワードを100%分の使用割合にする。

100%を3ビットくらいの閾値符号

・ワード:使用頻度をキーにしてデータベースに登録

・以後、ワード:使用頻度でハッシュ化して「近いハッシュ値」が見つかったら同一人物認定

でやってみてくれ。

欲しければ、増田の記クローリングするスクリプト位はあげるから。 

2013-12-27

http://anond.hatelabo.jp/20131227232532

ああ、ごめん。私は匿名ファイル共有ソフトイメージして書いてた。

いまどきの匿名ファイル共有ソフトは、ダウンロードしたものに評価を付けれるようになってて

それを元に「偽物」かどうかをある程度判断できるようになってるのよ。

 

不正ダウンロードした側がフィードバックするとも思えん。

ってのは「偽物掴ませやがって糞が」って動機でマイナス評価を付ける人が

少ない割合でも居ればいいわけから、評価としてちゃんと成立している。

基本的に、悪いものにわざとプラスを付ける人が居るわけじゃないしね。

 

作者が見せるのを許可する巻以降の破損ファイルに、わざと高い評価をつける

工作をするというのはありかもしれないが、そのうち偽物ハッシュ値が出回って

ユーザはそれを無視リストに入れた上で検索するよう学習する。

2013-07-21

password」のハッシュ値

MD5は「5f4dcc3b5aa765d61d8327deb882cf99」

SHA1は「5baa61e4c9b93f3f0682250b6cf8331b7ee68fd8」

生年月日(数字8桁)も過去100年分(36500+閏年分)あればだいたい足りるよね

2013-07-18

http://cruel.org/wsb/burroughs.pdf

カットアップで記録を破壊し書き換えることで、現実を本当に変えられる(そしてそうすべきである)と主張していたバロウズには、具体的に変えたい記憶現実)があった。でも、そういう記憶は、カットアップしても、破壊されなかった。破壊されるどころか、各断片がもとの記憶の全体を呼び起こすポインタ/ハッシュ値になってしまった。カットアップすればするほど、それはますますその記憶のかけらをいたるところにまき散らすだけだったということだ。

(中略)

記憶自分の都合のいいように改竄してしまう人には、ぼくたちみんな出会っている。中には自分のまちがいを認めるのがいやで、ウソをついている人もいるけれど、本当に自分記憶改竄して、なかったことをあったことにしてしまっている人はたくさんいる。一方で、スターリン中国共産党みたいに、オーウェル式に記録をすべて書き換えることで、たとえばトロツキーをいなかったことにしてしまったりする例もたくさんある。

でも、この両者は同じものではない。スターリンが公式記録を書き換えたようには、自分記憶は書き換えられない。そしてこの両者は、なかなか両立しない。書き換えようとするその行為自体が、記憶の中で実際にあったできごとを一層はっきりさせてしまうからだ。つまり、変更前と変更後をちゃんと理解していないと、十分な書き換えはできなくて、その変更前の状態を知っている限り、自分記憶は残ってしまう。自分記憶を書き換えるには、ゆっくりと、すこしずつ、自分で気がつかないうちにやらなきゃいけない。記録があるという記憶まで抹殺しなくてはならない。意識的にカットアップなんかをして、記憶を書き換えようとしているうちは、絶対に自分記憶は――そして自分にとっての現実は――なくならないのだ。

この文章を読んだ時、俺ははっとした。そうなんだ俺も同じことをやっていて、だから俺はバロウズ小説にハマっていたのだということに気が付いた…いや気が付かされた。

俺は地元の三流大学卒業後、とあるゲームスクール入学した。大学も好きで入った訳でもないし、自分が好きなことを学びたかった。あとは社会に出るのがたまらなく怖かった。

で、俺はゲーム業界に入ったのか。いや挫折(笑い)したよ。大学でも言語は学んだし、成績は「優」だった。でも全然通用しなかった。あの三流大学でのプログラミング授業なんかママゴトに等しい、そう感じた。それよりもなによりも俺はアルゴリズムの立て方が下手だった。それでも前期はなんとかやり過ごせた。しか一年の後期での皆の自主制作を観た瞬間、もうダメだと。学校はいえ「公の場」のディスプレイに「萌えアニメ」画を「壁紙」にする、端末周辺に人形を置く。そんな連中に負けた自分がそこ(学校)に居るという現実に耐えれなかった。

それでもまだ自分には可能性があるのでは?と考えた末、一旦ブランクを入れて考え直そうと思い、当時通っていた精神病院に書いてもらって休学することにした。休学中は最悪だった。うん、ダメだ、この時期についてはまだ自分で文章化するほどに整理がついていないようなので止めよう。

学校辞めて、いくらかのブラブラ無職生活を経て就職活動。開発でなければどうにかなんだろ、という甘甘すぎる考えでIT業界に書類を出しまくるが当然の如く落ちまくった。でも幾つか引っかかってなんとか社会に潜り込むことが出来た。

でさ、面接で当然「空白期間の4年どうしていましたか?」訊かれる訳だ。それに対して俺は「大学卒業後、スーパー社員になるつもりで(4年間)働いていました」と。これは以外にも成功した。大学在学中と休学中にスーパーバイトしてたから色々突っ込まれても対応できたし。俺はどうしてもあの空間自分が居たという事実を認めたくなかったんだ。これは面接に限ったことじゃなくても改ざんする。経歴を語る場面において全て無かったことにする。俺は脳からあの記憶から消したかった。

でここで最初引用文だ。俺が経歴を語る場面に置いて、改ざんした経歴を語れば語るほど、あの学校に居た記憶が呼び出される。対外的にはできるけど、自分の頭は騙せない。語れば語るほど屈辱に満ちた時間が蘇る。俺はバロウズ小説の「カットアップ現実を変える」に希望を感じながら、引用文のような事実無意識共感していたからこそ、(バロウズ小説に)惹かれていったのだと今更ながらに思った。

でも、俺は改ざんすることを止めない。馬鹿しか思えないが、バロウズの「カットアップ現実を変える」という銘を信じて、俺は脳から消して見せる。それを宣言したい、そして整理したいために匿名ダイアリーに書いた。

以上、駄文終了。

2013-06-04

アカウント情報漏洩したYahoo! JAPAN企業体質

アカウント情報漏えいをしてパスワードハッシュ値秘密質問漏洩をしたヤフージャパン

その後もヤフオクメールの誤送信など、色々やらかしてしくれているわけですが、

こうも続くと企業体質を疑うようになります

去年に新経営陣になり、爆速の掛け声で早く事業展開ができるようになったという、

良い面ばかりクローズアップされてきていましたが、それが悪い方向に作用したのではないでしょうか。

企業体質がよく分かるサイトといえば、jobtalkですが、

そこをみてみると・・・

http://jobtalk.jp/company/1479_evaluate.html

やはり、

爆速」のキーワードが社内を疲弊させている。

爆速」のキーワード社員全員が振り回されている感覚

夜勤がある部署では、いわゆる「明け休」や、深夜手当以外の特別な手当はない様子。

など、コンプライアンスの低下が見られるようになったのは明らかです。

気になって2chベンチャー板にあるヤフースレを覗いてみると、(下部に引用

タイトルも相当アレですが・・・

どうも経営陣も閲覧書き込みをしているようなところだったんですね。

どう考えても従業員のコメントではないですよねこれは。

ヤフーはこんな企業だったとは正直がっかりでした。

ちゃんと経営責任をとって貰いたいものです。

経営収益を上げることだけが責任ではなく、

社会的責任を負っているもので、

収益が上げれば何をしてもいいということは間違っています

これでは同じ過ちを繰り返しかねない。

ヤフーサービスなんて到底使えないということになります

自殺現場は】Yahoo! JAPAN 30【14階トイレ

http://uni.2ch.net/test/read.cgi/venture/1322784618/

390 :名無しさん@どっと混む:2013/06/02(日) 19:02:09.85 ID:zoO0A1Sp0
    フロー現場独断無視して
    メアド流出させたバカは
    責任を取って辞めろよ?

393 :名無しさん@どっと混む:2013/06/03(月) 16:08:25.13 ID:MNUaj7U80
    >>390
    爆速推進した社長も咎めないとだな。

394 :名無しさん@どっと混む:2013/06/03(月) 16:47:54.57 ID:70T+uLBp0
    >>393
    爆速は正しい
    間違ったのは社員 

396 :名無しさん@どっと混む:2013/06/03(月) 21:43:34.28 ID:rjRM5CRK0
    >>394
    間違えさせたんでしょ?社長爆速施策で。
    責任者社長だろ。

397 :名無しさん@どっと混む:2013/06/03(月) 21:46:40.56 ID:rjRM5CRK0
    おい、ここの社長はどう落とし前つけんだ。
    このまま情報漏洩させて逃げる気か。

398 :名無しさん@どっと混む:2013/06/04(火) 00:54:36.74 ID:cAMu3ukM0
    >>394
    爆速は間違ってたんだろ。
    ttp://jobtalk.jp/company/1479_evaluate.html
    ココ見たら一目瞭然だった。
    ワイルド爆速社員振り回した結果がこのザマだろ。
    社長爆速自ら推進していたわけだから社長責任取らないと、
    筋が通らないな。

    爆速化させるところ間違ってたんだろ。
    こういうのを拙速だったとかでごまかすのはふざけてるな。

399 :名無しさん@どっと混む:2013/06/04(火) 08:34:00.99 ID:mkunnhWM0
    社員給料を下げて再発防止とした
    社長責任果たしてますはい論破 

402 :名無しさん@どっと混む:2013/06/04(火) 13:58:47.90 ID:Hou4pUV20
    >>399
    必要なのは社員減給でなくて社長減給だろうが。
    何も責任果たしてない。

403名無しさん@どっと混む:2013/06/04(火) 14:51:23.72 ID:5X1HMKXT0
    >>402
    は?
    社員減給して増益に持ってけば社長責任果たしてるじゃん
    お前、従業員と取締役区別がついてないだろ

404 :名無しさん@どっと混む:2013/06/04(火) 15:19:08.41 ID:Hou4pUV20
    >>403
    増益だけが責任じゃねーよ。
    情報漏洩コンプライアンス違反だろうが。
    ここの社長は自らを罰せない大馬鹿物だな

405名無しさん@どっと混む:2013/06/04(火) 15:46:26.83 ID:5X1HMKXT0
    >>404
    コンプライアンス違反による損害は人件費の削減てカバーしました
    はい論破

406名無しさん@どっと混む:2013/06/04(火) 16:29:15.48 ID:5X1HMKXT0
    ホントにバカ揃いの会社だなw
    経営者と従業員の違いすら分かってない

407 :名無しさん@どっと混む:2013/06/04(火) 16:41:21.51 ID:Hou4pUV20
    >>405
    お前は社会的責任を忘れてる。

408 :名無しさん@どっと混む:2013/06/04(火) 16:41:39.37 ID:Hou4pUV20
    >>406
    だったな。

409 :名無しさん@どっと混む:2013/06/04(火) 16:45:35.97 ID:Hou4pUV20
    利用者だが、こんかい個人情報漏洩、
    従業員の処罰よりも必要なのは経営陣の反省だ。
    それが無いんだな。この会社は。

410 :名無しさん@どっと混む:2013/06/04(火) 16:51:25.63 ID:5X1HMKXT0
    >>409
    経営反省して従業員に減給の罰を与えました

    はい論破

411 :名無しさん@どっと混む:2013/06/04(火) 17:25:29.18 ID:Hou4pUV20
    >>410
    それは反省したんじゃなくて責任転嫁しただけだろ
    論破してねーよw

412名無しさん@どっと混む:2013/06/04(火) 18:15:57.29 ID:5X1HMKXT0
    >>411
    つ株価

    情報漏洩の罰としてショッピングオークション人件費を大幅削減して
    お荷物を大幅増益にすれば株価は跳ね上がる
    経営者として社会が評価だろうが

413 :名無しさん@どっと混む:2013/06/04(火) 19:09:37.85 ID:bkcaE6y/0
    やれやれ、普段は「転職年収アップ」とか勇ましいのに
    いざ米国流のリストラ視野に入ってきたら
    「経営責任を取れ」ときたw
    ショッピングの奴らは実績の割に賃金が高すぎる
    社員責任を取って減給されろ

414 :名無しさん@どっと混む:2013/06/04(火) 19:16:12.26 ID:iJuE1/ap0
    「上は責任を取って辞めろ」とか言う奴へ
    お前がリーダー以上になって部下がヘマしたらお前が辞めろよ
    自分でできないことを他人に押しつけるな
    あとMYMで責任責任ほざいてたバカは情報漏洩責任を取って辞めるんだよな?
    ログ残ってるんだから逃げるなよ?

415 :名無しさん@どっと混む:2013/06/04(火) 19:30:25.85 ID:iJuE1/ap0
    「情報漏洩責任をとって辞めます」
    って退職メール、楽しみだわwww
    まず現場退職して経営危機感を持たせろ 

2012-08-13

未だにいまいちよく分からない事

何年か前、WinnyとかShareとかの利用者が逮捕された時、何故か2chあたりでは「残ったBittorrentが一番安全だ」、みたいな空気が支配的だった。

そしてBittorrentの利用者が逮捕された時に、少なからず動揺するような書き込みを見かけた。

でも確かあれ(Bittorrent)って、匿名性とか全く無い仕組みだよね?どのIPファイル持ってるかリアルタイムで丸わかりでしょ?

なんであれを使ってれば安全(逮捕されない)、みたいな事になってたの?

http://anond.hatelabo.jp/20120813233040

まあそんなもんか。

ただ、それでも説明出来ない事もあったんだよ。

ある日、あるファイル(勿論海賊版)がShare流出が確認されたんだけれども、何故かWinnyにもそのファイルを輸入しろ(アップロードしろ)という書き込みが頻繁にあった。

書き込んでる奴はそのファイルをどうしてもダウンロードたかったらしい。

俺は好奇心から、「Share流出してるのが分かってるのなら、Shareダウンロードすればいいんじゃないのか?」と書き込んだが、何故か完全に無視された。

知らない人のために説明すると、ShareWinnyは大まかな使い方が似通っていて、どちらもハッシュ値を登録すると、そのハッシュ値対応するファイルだけを狙い撃ちでダウンロードすることが出来る。なので、「Winnyの使い方は知っているけど、Shareの使い方は全く分からない」という状況は、まずあり得ないと言っていい。

よって、Shareファイル流出している(そのファイルハッシュ値ファイル名などが2chスレッドに書き込まれている)のを知っていて、Winnyでは流出が未確認で、そのファイルが今すぐ欲しいのであれば、やる事は「Shareインストールして欲しいファイルハッシュ値を登録しダウンロードが完了するのを待つ」以外に無いはずなのに、何故かWinnyダウンロードする事に異様に拘る書き込みをよく見かけた。

これは何故だろう?

2011-05-19

「これからの「パスワード」の話をしよう」のバグについて突っ込む

Web屋のネタ帳( http://neta.ywcafe.net/ )様の

これからの「パスワード」の話をしよう( http://neta.ywcafe.net/001184.html )で

紹介されているパスワードハッシュ化のバグについて突っ込んでみる

バグといっても大きなものではな

 「1回ハッシュ化を解読できただけ、プレーンパスワードを入手することが可能である

というものである

問題の部分はここ

    /**
     * 平文のパスワードハッシュ&stretchするメソッドです。
     * loop回数は1000としていますが、999でも1001でもお好みでどうぞ。
     * ただしループ回数は処理時間に直結しますのでほどほどの数値で。
     */
    private static final String hashAndStretch(String plainPasswd, String salt) {
        int loop = 1000;
        String hashedPasswd = "";
        for (int i = 0; i < loop; i++) {
            hashedPasswd = DigestUtils.sha256Hex(hashedPasswd + plainPasswd + salt);
        }
        return hashedPasswd;
    }

ここのロジックトレースしてみると

凡例

プレーンパスワードPASSWORD

ソルト:SSSSSSSS

トレース

最終的なハッシュパスワードが「XXXXXXXX」とする

XXXXXXXX ←  DigestUtils.sha256Hex("YYYYYYYY" + "PASSWORD" + "SSSSSSSS")

クラッカーがXXXXXXXXXのハッシュ値を解析し、元の文字列が「YYYYYYYYPASSWORDSSSSSSSS"」と判明したとする。

この時点で元文字列の中にプレーンパスワードが含まれていることになる。

また、ハッシュ化された文字列には「0123456789abcdef」の文字しか含まれておらず、

 「それ以外の文字が含まれていた場合容易にプレーンパスワードはないか

と推測可能である

一般的なパスワードには少なからず「0123456789abcdef」以外の文字が含まれているだろうし、

意味のある言葉パスワードに使っていた場合一目瞭然だ。

上記のことをふまえてプログラムを修正すると。。

    /**
     * 平文のパスワードハッシュ&stretchするメソッドです。
     * loop回数は1000としていますが、999でも1001でもお好みでどうぞ。
     * ただしループ回数は処理時間に直結しますのでほどほどの数値で。
     */
    private static final String hashAndStretch(String plainPasswd, String salt) {
        int loop = 1000;
        String hashedPasswd = DigestUtils.sha256Hex(plainPasswd + salt);;
        for (int i = 0; i < loop; i++) {
            hashedPasswd = DigestUtils.sha256Hex(hashedPasswd + DigestUtils.sha256Hex(salt + i));
        }
        return hashedPasswd;
    }

プレーンパスワードループの外でハッシュ化し、

またソルトを毎回違う値にハッシュ変換することにより

元の文字列の推測を行いにくく修正した

2011-04-14

パスワード個人情報を扱うサービスを作る際に気をつけたこと

HTMLはわかるけど、サーバーサイドはお遊びでphpを触ったぐらいだったので、会員制でデータをためこむサイト作りに初めて挑戦した

今回重視したのは、「いか個人情報をお漏らししないようにして、万が一漏らしても被害を少なくするか」ということ。

世の中、有償サービスでもパスワードを平文で保存してるサービスが意外と多いらしいので、流出した時のリスクを少しでも減らせる対策として書きます

今回のシステム構成

サーバーロケットネットキャンペーンにでレンタルサーバ年1000円ポッキリプラン

クライアント側の処理HTML+CSS+jQuery(とプラグインもろもろ)
サーバ側の処理PHP
WebサーバーApache
データベースMySQL

個人情報こわい!

個人情報ビビる漏洩とかまじ困るし怒られるしこわい。

俺も巻き込まれたところでは、サミータウンがメールアドレスパスワードセットでお漏らししてお詫びに1ヶ月無料なにそれこわい

サミータウンだけならまだいいけど、メアドパスワードを他のサービスで共通化して使ってる情弱なので、

共通化してメアドパスワードをどこかのサービスが一箇所でも漏らすと、ヤフオクID乗っ取り事件みたいなことになる。

http://internet.watch.impress.co.jp/cda/news/2008/09/26/20967.html

だってできれば人様のメールアドレスパスワードとか預かりたくない。

万が一、肉親のメールドレス発見してパスワードにrapemeとか入ってたら明日からどういう顔すればいいかからない。

ググってみてもどこにも情報のってない。うーん困った。ダメもとで「個人情報ってどうやって保存したらいいんだろう。。。」

って、twitterでつぶやいたら、「住所とかは可逆暗号化でいいけど、パスワードハッシュで不可逆化しないとだめだよ!」

と、呪文のようなありがたい言葉を教えてもらった。

暗号化の種類

「住所とかは可逆暗号化でいいけど、パスワードハッシュで不可逆化しないとだめだよ!」

何のことかわからなったので、調べてみると、

・可逆暗号=元のデータに戻せる暗号化方式。

ハッシュハッシュ値を使った、元のデータに戻せない暗号化方式

うーん。。。よくわからん。。。

電話番号とか住所は、第三者が使用する情報なので、可逆が必要。パスワードは、認証しか使わないので、

ハッシュ値結果が一致すれば元のデータがわからなくてもOK、という方式なのでこういった暗号の使い分けをする。

●可逆暗号イメージ(もとにもどせる) 暗号キー開発者が指定する。
090-xxxx-xxxx →(暗号化)→ !'&%($% →(復号化)→ 090-xxxx-xxxxハッシュイメージ(もとにもどせない) 
登録passwordDBに保存)→(ハッシュ値抽出)→!"$#'$#="
ログインpassword →(ハッシュ値抽出)→!"$#'$#="
※二つのハッシュ値が合っていれば、パスワード一致として認証する。

暗号化の実現方法

可逆暗号電話番号とか住所とかに適用

今回はMySQL関数で実現した。encode関数暗号化して、decode関数でもとに戻す。

例えばtel_noという項目だけあるテーブルがあるとすると、

//データベースに保存する時
insert into テーブル名 (tel_no)  values (encode(tel_no,'暗号キー'));
//データベースから取得する時
select decode(tel_no,'暗号キー') from テーブル名;

これで、データベース格納時は暗号化(バイナリ化)されて、データベースから取り出してHTML表示する時に復号化はされる。

ハッシュパスワードかに適用

今回はphpのhash関数で実現した

ユーザ登録時>

$password=(フォームから取得)
$hash=hash('sha512',$password)
//ユーザ登録時は、ここで生成した$hashをデータベースにぶっこむ。

ユーザ認証時は、入力されたパスワードと、データベースパスワードが一致するかチェック。

ログイン認証時>

//フォームから入力されたパスワード
$input_password=(フォームから取得)
$input_hash=hash('sha512',$input_password);

//MySQLに保存されたパスワードを取得(略)
$db_hash==(データベースから取得)

//判定
if($input_hash==$db_hash)
	echo 'ログインしますよ!';
	//ここにログイン処理を書く
else
	die('メアドパスワードがあってないよ!');

これでもしSQLインジェクションとかでデータ流出しても、ハッシュ暗号パスワードに関してはまず解析されないはず。。。

可逆暗号データphp側の暗号キーが盗まれない限りバレない。。。はず。。。

暗号化する対象のデータをえらぶ

何でもかんでも暗号化するとコードが煩雑になるし、パフォーマンスにも影響でそうなので、

住所データ都道府県とか、漏れても良いような情報暗号しませんでした!!

本人が特定できなければ個人情報はないらしいので。。。

個人情報保護法
2条による定義個人情報」とは、生存する個人に関する情報であって、当該情報に含まれる氏名、生年月日その他の記述等により特定の個人を識別することができるもの(他の情報と容易に照合することができ、それにより特定の個人を識別することができることとなるものを含む。)をいう。

http://ja.wikisource.org/wiki/%E5%80%8B%E4%BA%BA%E6%83%85%E5%A0%B1%E3%81%AE%E4%BF%9D%E8%AD%B7%E3%81%AB%E9%96%A2%E3%81%99%E3%82%8B%E6%B3%95%E5%BE%8B#2

これで、もし漏れても、俺、ウンコ漏らして臭いけど、パンツから出てないからいいよね?というレベルはなった。はず。

お漏らさないようにキツくする

万が一漏れても大丈夫!と書いたけど、そもそも漏らすなというお話になる。色々調べた結果、以下の対策をほどこした

SQLインジェクション対策

・当初jQuery側でSQL組み立ててPHPに渡してたので、これだと任意のSQLが実行できて漏らし放題なのでやめる。

GETとかPOSTでDBに渡すパラメータを扱ってる場合、ちゃんとエスケープする。

例えばログイン認証するPHPで、GETメソッドでフォームからデータを取得するような場合

$id=$_GET['id']
$pwd=$_GET['pwd']
$sql="select * from ユーザーテーブル where uid='$id' and pwd='$pwd'

とかやってると、login.php?id=admin'&pwd=' OR '1'='1とかパラメータを渡されるとあら不思議

select *from ユーザテーブル where uid='root' and pwd='' or 1=1

で、誰でもログイン出来ちゃう!ので、mysql_real_escape_stringでエスケープしたり、渡されたパラメータが想定した値かどうか(例えば数値かどうか、とか)のチェックをいれたりする。

クロスサイトスクリプティング

・保存するデータタグJavascriptを埋め込まれないように、保存されたデータを出力する場合PHP側でhtmlspecialchars関数使ってエスケープするようにする。

こんな感じでお漏らし対策をした。間違いがあったら教えて欲しい

ちなみに出来上がったサイトはこれ。

http://oreni-makasero.com/

2010-09-24

EmEditorの開発がカオス状態に・・・

情報送信でスパイウェア警告、ドングル導入検討、2chで訴訟をほのめかす

体験版の30分制限

どうしてこうなった・・・

Ver.9 無料アップグレード(2009.10.13)

    正式版のダウンロードを購入者のみに制限、体験版での登録ができなくなる

    アカデミックライセンステクニカルライセンスが廃止される

    不正使用対策のため、シリアルキーが新しく変更される(要再登録)

    新しいシリアルキーに、ダウンロード時に登録したメアドが含まれるようになる

    Ver.9の購入者がVer.8を使えないことに苦情が寄せられる

    エディタの起動時に情報を送信していることが確認される(スパイウェア疑惑

    キージェネとクラック情報存在が確認され、緊急バージョンアップが行われる

    「ドングル導入を検討していた」という噂が流れる(作者本人は否定)

    ベクターで新規購入するとユーザー情報が「ベクターお客様」になることが判明

    不正使用対策で自己改変チェックが行われるようになり、起動がもっさりになる

    法人限定でシリアルの内容がメアドから会社名に変更可能になる(要申請)

    苦情を受けて、新規ユーザーにもVer.8のシリアルを発行開始(要申請)

    自分スパイウェア疑惑を棚に上げ、クラックやキージェネの危険性を警告

    Ver.9.07で自己改変チェック機能が外される

    ライセンスセキュリティポリシーの問題で公式サイトがまた荒れる

    後付けの規約変更連発で事態の収拾を図ろうとする

    作者の意に沿わない発言をする者に対し、公式フォーラムからの退会を勧告

    作者から一方的に議論打ち切り宣言が出される(掲示板の一部がロックされる)

    作者が2ちゃんねる降臨。「テンプレを削除しないと訴えるぞ」と恫喝

    公式サイトトリップが一致し、本人の書き込みであることが確認される

    しかし、まったく効果がなく、わずか1日で2ちゃんねるから撤退

Ver.9(の続き)

    Ver.9.09で登録情報の送信回数が減らされ、同時にキージェネ対策が行われる

    返金を申し入れたユーザーメールスパムフォルダに振り分けられていたことが発覚

    公式サイトリニューアルで、ロックされていた掲示板が削除される

    Norton Anti VirusがVer.9.11スパイウェアの可能性があると警告

    公式で報告された不具合ユーザー環境のせいにして済まそうとする

    このスレの指摘で上記の問題がソフト本体のバグであったことが確認される

    確認ダイアログの表示前に、通信をしている可能性が指摘される(9.14で修正?)

    プレミアムサポート(年額40,000円)が導入される

Ver.10 無料アップグレード(2010.7.1)

    Ver.10で再度シリアルキーが変更される

    体験版の使用制限が強化され、30分ごとにソフトが強制終了するようになる

    別バイナリ疑惑対応するため、ハッシュ値の公開を開始

   「次のバージョン体験版の30分制限は外します」発言

    体験版の制限が30分ごとの強制終了から30分ごとの警告ポップアップに変更

   「印刷時のフォント計算バグは次のメジャーアップデートまで直しません」発言

Ver.11 有料アップグレード(予定)

2010-07-21

P2Pファイル共有ソフトの個人的な使い方を白状してみる

なんだかBittorrent利用者が逮捕されたそうな。

これで、主立ったP2Pファイル共有ソフト(WinmxWinnyShare、PerfectDark、Cabos、うたたね、Bittorrent)全てに逮捕者が出たという事になる。せっかくなので俺の使い方をここに書いてみる。

利用しているもの

もっぱら使ってるのはShareと"うたたね"。

Shareでの作業ルーチン

  1. 手に入れたいファイル(アニメ番組名、映画エロゲタイトル)もしくはファイルジャンル(例:「アニメ」「映画」「エロゲ」など)を決める。
  2. 2chDownload板のShare系の該当スレッドを探しだす。
  3. 定期的(1日~1週間程度)にスレッドを開き、新たに書き込まれたハッシュ値ファイル名を正規表現などで抽出。それ以外の書き込みは全て無視。
  4. 抽出したファイル情報をそれらを全部クリップボードコピーしてShareにトリガ登録ししばらく放置
  5. 状況にもよるが数時間~数日でダウンロード出来る。
備考

"うたたね"での作業ルーチン

  1. Shareダウンロードしたファイルを共有し、主な公開サーバー接続する。
  2. 基本は放置
  3. 自分の共有ファイルキュー(リクエスト)を入れてくる人が現れたら、その人の共有ファイルを参照し、欲しい物を探す。
  4. 欲しいファイルが無ければ放置。一生相手にする事はなさそうだと思うのならブロックリストに登録。これで相手は自身のIDを変更しない限りこちらへキューを入れられなくなる。
  5. 欲しいファイルがあったらキューを入れ返し、互いのファイル転送し合う。
    • 途中で切断される可能性があるので注意を払う事。
備考

何か言いたいことや疑問があったら言えばいいよ。

2009-07-18

ネット上で実際に流通している「児童ポルノ」の今後

児童ポルノ禁止法が改正されそうになっていた件で、個人的には単純所持禁止や二次元規制には反対したいものの、未だにネット上で児童ポルノ流通しているのは確か。その辺をどうするんだ放置たままでいいのかという規制賛成派の指摘はもっともだと思う。

しかし、今時ウェブサイト画像やら動画やらをアップロードする馬鹿は希少だろう。それを放置するウェブサイト管理者も多いとは思えない。画像投稿掲示板管理者が逮捕された例もあるわけで、国内外問わず、いやむしろ海外の方がよほどリスクが高い。

というわけで、専らその手のファイルってのはP2P流通していると思われる。国内だとWinnyShare、Perfect Darkといった所か?

だからこれらをピンポイントで潰すだけでかなりの効果が出るような気がするんだが、どうだろうか?

元々この手のツールなんてのは著作権的「クロに限りなく近いグレーゾーン」な存在なわけで、長い時間かけて消滅する方向に持って行ってもいいんじゃないかと思う。

大ざっぱに必要な作業としてはこんな感じか?

  1. 初期ノードサイトを潰す
  2. 児童ポルノファイル共有者への警告
    • どこまで本当だか知らないが、WinnyShareの場合、任意のファイルを共有している者はそれなりに特定が可能らしい。まあ、どちらもバージョンアップが止まってから何年と経っているので、その間にいろいろと解析技術確立されたんだろうな。なので警察だかプロバイダーだかがガンガン警告を送りまくる。削除しないと回線切るぞ、と。
    • そもそもファイル共有者の特定が技術的にどこまで可能なのかがよく分からんし、特定する作業はどこが請け負って、コストは誰が払うのか、という所を解決しないといけないだろうな。Seti@homeみたいに、延々とP2Pに繋いでる端末のIPを取得し続けてしかるべき機関に報告するスクリーンセーバーなんてのを配布する、みたいな方法でいけるかな。それと、今のところIPアドレスからの個人情報照会は警察じゃないと出来ないんだっけ。

2009-03-26

http://anond.hatelabo.jp/20090326123924

適当ググる。がいくつかあったので羅列

str.charCodeAt(0) + str.charCodeAt(str.length-1)
(str.charCodeAt(0) + str.charCodeAt(str.length-1)) * str.length
    while (*key != '\0') 
        hashval += *key++;
    do{
        x = (x * 0x60 + *s - 0x20) % hashsize;
    }while(*++s);
/* ハッシュ値算出ルーチン */
/* 各文字コードを左に3シフトしたものでXORをとり、 */
/* ハッシュテーブルのサイズで割った余りを返す */
int HashCalc( SearchData )
char *SearchData;
{
  int HashValue;

  for ( HashValue = 0 ; *SearchData != '\0' ; )
    HashValue ^= (int)*SearchData++ << 3;
  return( HashValue % HASHSIZE );
}

2009-03-09

http://anond.hatelabo.jp/20090309131240

遺伝子とかだと双子で重複するかもしれないし

神経細胞配列デジタル化してハッシュ値をとればいいと思うよ!

2008-11-29

なぜベストを尽くさないのか

運用メンバーで開発希望の人らがいる。

うん。

希望を出すのは良いことだ。

でも、悪いが甘い。甘すぎる。

希望さえだせば、会社がなんとかしてくれるってのは昭和価値観だ。

なぜ、ベストを尽くさない。

可能なら、自分の作ったプログラム上司に見せる。

忙しくて作る暇が無いなら、現状の運用で使えそうなプログラムを書けば良い。

たとえば、客が入力した値が正しくデータベースに入っているか検証するSQLを書いて発表する。

たとえば、更新した顧客サーバーに当てた、ストアドプロシージャがリリース予定のものと一致するかハッシュ値でみくらべるプログラムを書く。

運用だろうがなんだろうが、プログラムを書いて改善する余地はいくらでもある。

プログラム書く暇がないなら、技術的なTIPやノウハウ会社サーバーにアップして、ノウハウです〓といいつつ上司や偉いやつに自分能力を見せ付けろよ。

2008-03-22

[]Python 2.6だと、オブジェクト辞書のキーに使えない場合がある

Python2.5のときは、新スタイルクラスインスタンス辞書のキーとして必ず使用できたけど、Python 2.6ではそういうわけじゃなくなってるぽい。という話。

class TestClass(object):
    def __init__(self, i_name):
        self._name = i_name

    def __eq__(self, i_other):
        if not isinstance(i_other, TestClass):
            return False
        return self._name == i_other._name

print 'object.__hash__ = ' + str(object.__hash__)
print 'TestClass.__hash__ = ' +str(TestClass.__hash__)

上記のようなコードを実行したら、Python 2.5とPython 2.6で結果が違いました。

Python 2.5の場合の結果。

object.__hash__ = <slot wrapper '__hash__' of 'object' objects>
TestClass.__hash__ = <slot wrapper '__hash__' of 'object' objects>

Python 2.6の場合の結果。

object.__hash__ = <slot wrapper '__hash__' of 'object' objects>
TestClass.__hash__ = None

Python 2.6だと、objectクラス継承すると、__hash__がNoneになっちゃってる。このままだと辞書のキーとして使えないね。object継承したクラスで__hash__を実装すれば、大丈夫みたい。

ハッシュ値の計算方法 (2)」というページも参考になりそう。

2007-10-04

匿名匿名でいいけど

キャップ(ある文字列をキーとしたハッシュ値編集不能領域に置く)はあってもいいかなぁ。

完全に任意だけど、後で串刺しに検索できるから。

話題ごとに変えたりできるのがポイント

id書くほどではないけど、あとで自分の発言の流れにまとめて言及するかも、ってときにだな…

まぁ増田民多数派には、あんまり関係ないか…

2007-09-27

http://anond.hatelabo.jp/20070927003115

下らない事で浪費するのが人生の本質であると見抜ける人でないと、(ハッシュ値馬鹿騒ぎするのは)難しい。

アーカイブ ヘルプ
ログイン ユーザー登録
ようこそ ゲスト さん