魔術師をめざして

魔術師を目指して、相場・数学・プログラム言語を研究しています。

pin

f:id:fxrobot:20130922061931p:plain

 pin(パイン)と名付けたコンソールで動くプログラム。ずいぶん昔にC言語で作った。再現可能パスワード発生器といった感じのものだね。

pin 1000 8

というように指定すると円周率の1000桁目から8桁分表示してくれる。

pin 0 1000000

と指定すると円周率を最初の桁から100万桁吐き出す。
また、単に pin とだけ打ち込むと、

pin 0 8 = 31415926.

と表示し使い方を暗示する。0桁が起点であることもわかるだろう。

こんなもの何に使うというのか..ぼくには欠かせないプログラムなのだ。とはいえ、たまにしか使うことはない。皆さんは銀行カードのパスワードを生年月日にしていないだろうか。

pin 601203 4

とやれば昭和60年12月3日生まれ(あるいは1960年生まれ)の人のための4桁のパスワードを提示てくれる。しかしそれをここでいってしまってはマズイね。ちなみに以下のように結果が表示される。

pin 601203 4 = 8098.

この 8098 という数字は忘れてしまったとしても pin を使ったことさえ覚えていれば常に再現可能だ。誕生日そのものを使うよりは断然セキュリティーが高いだろう。

最後に pin 601203 1000 とやってみることにしよう。
結果は↓これだ。(途中に改行が入ることはない)
pin 601203 1000 > test.txt というようにファイルに吐き出させた。

pin 601203 1000 = 8098401901457110801511114446629507460652330517345945257725758930786
3700719576792849542202391372656825993183849635737174554050387357805
4083223542866825098340742461917212410659284052811166200923282960301
7213638492851047735852983920870989263169843588574220637445799561054
1443705248822335802675674609925440227768400935931817775078576733453
2073118530837973695738202460474500960452405560064156835540468641810
6415591598692574489030347146086368684207141529519539968886399441629
8501262198265478995063129214796056471849993133924449529728833783355
2253066560811391115575999790713828924183735740905193241180832753210
5758344340786287664294881133595300781151425957827964092837812763167
4688525323298028567924732045320938542101580714740180947946116048627
7678673437757511437592333049254994572062768423364394693270173361084
4401875653569316078803127015677432921109546037466986463058964329961
9579908391638851073583655397358685803947562940402286352096347217039
45047038525710853133624475454200105259671217835787463335941659.


f:id:fxrobot:20130922060940j:plain

使い方は、アクセサリのなかにある「コマンド プロンプト」を選んで、そのあとは、つぎの画像の例のように打ち込むだけ。簡単だ。

f:id:fxrobot:20130922061159p:plain

このプログラムはどこかで公開しているわけではないので、ほしい人はコメントで「pin がほしい」とだけ書いてくれればメールに添付して送るよ。

「ほしい」コメントは承認しないのでメールアドレスは公開されない。