ラボブログの続きですが。。。 mcryptのpaddingは 平文の長さがブロックサイズ倍になるように ASCIIZ('\0')を付けるだけなので, base64化することで末尾のASCIIZを正しく保持する効果があると思われます(試してはいません). 今回挙げたサンプルを作る際、復号データの末尾に何か付加されているのは確認していたのですが、base64_encodeするとうまくいったので、今回はそれ以上深く追っていませんでした。また、コメントにある「padding」を見て、パディングのことをすっかり忘れていたことを思い出しました。 ということで、PEAR::Crypt_Blowfishを使ったサンプルを元に見てみました。以下のコードはラボブログに書いたサンプルからbase64_xxxxxxを抜いて、文字列長やコード出力(面倒なのでurlencodeで代用)を追加したものです。サンプルのフ
先の記事でも書いたように、Mac OS X v10.5 “Leopard”の「辞書」アプリケーション(辞書.app / Dictionary.app)用の辞書はユーザーが追加できるようになっている。そこで、定番の英和辞書「英辞郎」を変換するツールを作ってみた。英辞郎は、現時点で最新のv108を使用している。 使い方は以下の通り。 ・OS Xのインストールディスクに含まれる開発ツールをインストールする(「Optional Installs」→「Xcode Tools」→「XcodeTools.mpkg」を実行) ・「/Developer/Exmaples/Dictionary Development Kit/project_templates」フォルダ(OS X 10.7以降は「/Developer/Extras/Dictionary Development Kit/project_temp
Future home of the ECMAScript programming language.ECMAScript Programming Language New to ECMAScript? Learn about the ECMAScript language Discover the ECMAScript community Implementing an ECMAScript engine? Read the documentation Download the ES4 reference interpreter Interested in ECMAScript Harmony? Read Brendan Eich's announcement of ECMAScript Harmony Get involved in the development of ECMAScr
ヌルい勉強会(仮称)に参加してきました。参加したみなさま、電車が遅延してるなかお疲れ様でした。首謀者の mincemaker さん、大赤字でご苦労様でした。次回は特定個人に負担がかかりすぎないようにもうちょっと考えましょう。 セキュリティホール memo につながらない件がすかさずネタになっていたり、ドキドキするのに合わせて初音ミクがネギを振り回したりと、非常に楽しかったです。 とりあえず、私のプレゼンをあげときます。 http://openmya.hacker.jp/hasegawa/public/20071107/s6/h6.html?file=data.txt なんだか攻撃者指向なプレゼンで申し訳ないです…。あと、最後のページは SEO(Sekoi Ego Optimize)してますので、検索結果は適当です。 id:amachang さんのS6 を初めてつかってみたんですけど、あまり
« メッセージキュー事始め in Perl - コマンドラインクライアントを作ってみた | メイン | djbdns にパッチをあてて Anti-DNS Pinning 対策 » 2007年11月08日 Re: for 文を setTimeout に変換する for 文を setTimeout に変換する - IT戦記の件。おもしろい。自分だったらこう書くかなと思いました。 function timeout_for(f1, f2, f3, fe) { var i = typeof f1 === 'function' ? f1() : f1; var rep = function () { if (typeof f2 === 'function' ? f2(i) : (i < f2)) { setTimeout( function () { fe(i); i = typeof f3 == '
for 文で 100 項目とか 1000 項目とかあるテストケースを処理するとブラウザが固まる。 こんなダイアログが表示されます。 ということで for 文を setTimeout や setInterval に変換する事で定期的にブラウザに処理を戻すことができる。 // ここでは console.log のところでログを取ってますが // 通常は処理が入ります。 for (var i = 0; i < 3; i ++) { console.log('a' + i); } /* * 結果 * a0 * a1 * a2 */ これをまず while 文に変換 var i = 0; while (true) { if (!(i < 3)) break; console.log('a' + i); i ++; } /* * 結果 * a0 * a1 * a2 */ で、 setTimeout に
先日、MozillaでECMAScript(JavaScript)の仕様を作っているJohn Resigさんが来日しました。 その際、1時間ほどのQ&Aの司会と、ライトニングトークでの発表を私させていたただきました。 その際、基調講演をしてくださった、etoさん(http://eto.com/d/PresenForJohnResig.html)のコメント。 こないだのJohn Resigによる講演の後に一緒に飲んだんですけど, その席で聞いた話がすんごく面白かったな. いろいろ面白かったんだけど,特にjquery2が面白かった. http://ejohn.org/apps/jquery2/ このURLなんですけど,コードはこんな感じ. <script src="http://jquery.com/src/latest/"></script> <script src="parse.js"><
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く