タグ

裏技とアルゴリズムに関するiwwのブックマーク (2)

  • (0, eval)('this')とは何なのか - Qiita

    この(0,eval)('this')はいったい何なのか。調べた。 調べた結果 これはindirect eval callを使用した、どのスコープでも必ずグローバルオブジェクトのthisを取得するためのテクニックであった。 ES5ではevalを直接呼び出すと、引数のコードはそのスコープで実行されるが、間接的にevalを呼び出すと、引数のコードは必ずグローバルスコープとなるそうだ。なので引数のthisは必ずグローバルオブジェクトとなる。ブラウザではwindowとなり、Nodeではglobalになるのだ。実際どうするかだが、eval関数を変数に代入し、その変数で実行すればよい。 // Nodeで実行 var obj = new (function(){ this.direct = eval('this'); var ev = eval;// 変数に代入 this.indirect = ev('t

    (0, eval)('this')とは何なのか - Qiita
  • MD5は復号できる!? | ブログが続かないわけ

    前回のエントリ(パスワードを平文で管理するのはダメだ)のブクマコメントでYappoさんから貴重な情報を頂いた。 MD5が復号できるというのだ。 しかも、それができるDigest::MD5::ReverseというCPANモジュールがあるという。 これには驚いた。いろいろな情報を当たったところ、やはりMD5などのハッシュは復号できないと書いてあるからだ。 http://www5f.biglobe.ne.jp/~h-it/mlcont/mc0200.htm http://gimite.net/bcbqtree/qtreemain.cgi?mode=thread&thread=376 http://www.postgresql.jp/document/pg803doc/html/encryption-options.html しかし、こういうところでいう「復号できない」というのは「復号するアルゴリ

    MD5は復号できる!? | ブログが続かないわけ
    iww
    iww 2011/08/10
    なるほどその手があった
  • 1