2009あなたのクレジットカード番号に潜む規則性びっくりした!クレジットカード番号はランダムに見えて実は一定の規則に従っているということを知った。Djangoのソースを読んでいたら、オンラインストアなどを作る人のために、ユーザが入力したクレジットカード番号が正しいものかどうかを確認する方法がのっていた。クレジットカード番号の後ろから数えて*1奇数桁だけを合計する。クレジットカード番号の後ろから数えて偶数桁を2倍して合計する。2倍して10以上になるときは9を引く。1と2の数字を合計する正しいカード番号ならこの合計が10で割り切れる。試しに自分の持ってるカードでやってみたけど、確かにこのルールに従った番号がついてる。オンライン決済するようなWebアプリをつくるひとは、あらかじめ番号をチェックしてあからさまな偽カード番号については、カード会社に照会しないようにするといいみたい。一瞬合コン向けのゲームとかに応用(「もし10で割り切れたら俺たち運命!」とか)できるのではと考えたが、こんな面倒な計算を酒の席でできるはずがないと我に返った。俺まだ常識人!プログラムでやるとこうなる。こんな面倒な作業を人間がやるはずはない。10"でググるとよい。Pythonでやるとこうなる。クレジットカードのチェックサム」という節でこんな方法が掲載されている。invalid."djangoのcheckdigits.pyPython用のフレームワークDjango*2のutilsディレクトリの中にはこんな関数が用意されている。checkdigits>>checkdigits.luhn(12345678901234)などとするとチェックできる。上の例(Pythonクックブック)の方が読みやすいけど、これって数字を頭から足し算してる。下の例はMystring[-1::-2]という見慣れない書き方が気になったが、これは文字列の一番後ろの文字から-2番目の文字を順に取り出すという操作らしい。なに言ってるか分からないですよね。実行例を書いておくので体で理解してください。str(d)[-2::-2]'97531'他にもクレジットカードには沢山の規則性があって、裏を返せば、インターネット上に転がっている無意味に見える数字の羅列の中からクレジットカード番号だけを抜き出す事は簡単だということだ。ウエイト3-1(一括)」と表現される。ウエイト1-2(分割)」と表現される。Formulaの名で呼ばれている。ウエイト1~10(一括)」と表現される。haskellクレジットカードと言えばその昔ドイツのワールドカップの会場で「公式スポンサーであるマスターカードしか使えない」と言われて焦った事を思い出した。2009/07/07追記クレジットマスターなるプログラムが出回っているらしい。16けたのクレジットカード番号のうち複数のけたに、決まった数字を足し引きしていくと、特定の回数で元の番号に戻る。その過程で出てきた番号は、他人が使用しているものに該当する可能性があるという。カード番号の並びの規則性を悪用した方法。した計算を瞬時に行う自動ソフトも出回っているとされる。カード業界の関係者などによると、10年ほど前から被害が確認されているが、具体的な防止策は見つかっていない。メールアドレスの正しい選び方メールアドレスは自分の好みで選ぶことが出来る。シンプルに自分の名前を使おうとすると既に使用している人がいるため、意外と悩まされる。悩んだ結果であるメールアドレスには本人の人間性が反映されてしまうのである。distributionの略、CDブートLinuxとして人気の高いKnoppixのディストリビューションの一つで、その名の通りセキュリティ(ネットワーク系の)ツールてんこもり。おととい発売されました。VistaのBetaを使っていて気づいたことをとりとめもなく紹介してみるというありふれた試み。今回はIE7+Vistaが吐くHTTP_USER_AGENTはこんな感じです。(旧コンコルドホテル)の脇にはうらびれたモールがある。店先でおばちゃん達が井戸端会議をしているネイルサロンやマッサージ屋などが立ち並ぶ中、一際異彩を放っているのがアンさんのコンビニエンスストアである。弟者のカフェオレ割と最近の弟者(小)の話。ある日、冷蔵庫の中に牛乳パックがあり、中には牛乳が一口分くらいしか残っていなかった。兄者は飲み干してパックを捨ててしまおうと思い、牛乳パックを手に取った瞬間に弟者に鋭く呼び止められた。「待って!こっちを先に飲んで、はい。2005」を使ってWebアプリを作ろうと考えていたとき、一番の課題はレンタルサーバサービスが少ないことだった。Posts自分メモ:出張の時の持ち物リスト昨年のべ85日も海外出張したため、持ち物リストがだいぶ「枯れて」きた。絶対役立つお勧めグッズを紹介したい。暑い国もあれば寒い国もある。メールアドレスの正しい選び方メールアドレスは自分の好みで選ぶことが出来る。シンプルに自分の名前を使おうとすると既に使用している人がいるため、意外と悩まされる。悩んだ結果であるメールアドレスには本人の人間性が反映されてしまうのである。ここでは、ありがちな駄目なメールアドレスの例を紹介し...神保町・竹橋ランチ戦記さかのぼること6年前、転職して神保町で働くことになった。それまで働いていた目黒は飲食店も弁当屋も選びたい放題だった。美味しい店、安くて量の多い店なんでもあった。ところが神保町は通りを歩いていても店が少ない。「食べるところがない」それが最初の印象だった。それか...頭良さげに見せようとして、頭悪さがバレる10の発言この記事がウィットに富んでいて面白かった。頭良さげにみせようとして、あるいは会議で存在感を出そうとして、逆効果になる発言というのもある。中学からの友人のMが結婚。Mのご両親にも久々にお会いする。写真は高砂で何事か喋っている二人。長野は激しく雨がふっております。実家のPCのハードディスクが壊れた。いう事で今日は新幹線で1時間半の実家までオンサイトサポートに出向いています。この一点のみ...駐輪場のおっちゃん週末のよる遅くに友達と飲むことになり、家から10kmほど自転車を漕いで都心某駅に行った。飲んでいる間、自転車は駅近くの公営有料駐輪場にとめることにした。看板に一時利用は1日150円と看板に書いてあった。納得して受付にむかった。(旧コンコルドホテル)の脇にはうらびれたモールがある。店先でおばちゃん達が井戸端会議をしているネイルサロンやマッサージ屋などが立ち並ぶ中、一際異彩を放っているのがアンさんのコンビニエンスストアである。アンさんのお店につ...サイバー戦争と国際ルール作り。ここまでのあらすじいわゆるサイバー戦争について2013年4月時点での現況、特にノームの議論についての状況を整理してみた。私的な興味に基づいて調べた結果のとりまとめであることをご理解いただきたい。