妙に気張ったサイトがあるが、必要もないのにリフレクションの類を使うのは意味がないだけでなく、コンセプトをあいまいにするという欠点がある。
「あ、IEがサポートした!」など一喜一憂したくない。さらに悪いのは、「あ、IEがサポートしてない!」である。この対処法はいくらもあるが、基本線に徹するのもひとつの生き方である。ところが、基本中の基本と考えているようなことがサポートされていない場合などあり、その解決だけで時間がかかる。
最初から汎用性のない機能を説明するなどまったくテキストとして方針がなっていない。その辺の配慮が、教育的配慮というものである。他人の造ったプログラム言語を説明するには、それなりの配慮がいる。もっともよく使う演算子、関数に、決まった形式がなかったり指定されていなかったり冗長であったりすると、汚いプログラムになる。
Firefoxで対応していない機能もある。ブラウザでルビに対応しないのがあり、不便である。括弧書きはいかにもよくない。日本語に特有な機能であり、ブラウザの開発にも開発者およびサポーターの使う言語に依存する部分がある。
金曜日, 11月 28, 2008
火曜日, 11月 25, 2008
PHP: Encrypting the Passwords
Nowadays, you need passwords everywhere, to access to blog admin page, to view member-only BBS, to read articles only available to the selected few, etc. All those sites require passwords. The passwords should be secured at a safe place and they should be safely protected -- encrypted. In PHP,
Here the secret seed of this encryption is "ea" (happens to be my initials). This is a one way ticket to the password protected world -- there is no way to reverse the encryption unless you decipher the mechanism of PHP's encryption. In the real world checking of passwords, simply compare the resulting mysterious bunch of digits and letters with with the passwords that you would like to check -- with the encrypted ones, with the same secret seed.
Notice that the string comparison is done with
crypt
function does the work. It encrypts in a pattern that can be set by another secret keyword.
crypt($password,"ea")
Here the secret seed of this encryption is "ea" (happens to be my initials). This is a one way ticket to the password protected world -- there is no way to reverse the encryption unless you decipher the mechanism of PHP's encryption. In the real world checking of passwords, simply compare the resulting mysterious bunch of digits and letters with with the passwords that you would like to check -- with the encrypted ones, with the same secret seed.
strcmp(crypt($entered_password,"ea"),$password_stored_somewhere)==0
Notice that the string comparison is done with
strcmp
-- it is PHP's ancient trap. Never compare strings with == operator. PHP's inherent conversion machine might convert the string to some integer (or to any type) before doing the comparison.
登録:
投稿 (Atom)
Qt: 外部プログラムを起動する
Qt/C++ のアプリは、外部へ直接アクセスできます。これはネットアプリでは不可能な Qt のメリットです。 外部プログラムを起動することもできます。QProcess::startDetached() を使うと独立したプロセスを立ち上げることができます。 この QProces...
-
コンデンサマイク 極性があります コンデンサマイクがようやく届きました。モジュールではないのでそのままでは信号が弱いので使えません。信号を増幅する必要があります。 ちょっとした手間ですが、首尾よく動いてくれました。この回路の応用で、使えるマイクが出来ます。 ...
-
Flask/SQLAlchemy 使ってる方、jinja で困ってませんか? 本体で Python の関数を書いてもいいんですが、テンプレートでも関数が呼べます。 日付を出したい場合、フォーマットなら strftime() が使えます。 わざわざ文字列を作って渡す必...
-
PowerBuilder では Time, Date, DateTime などという型があります。 デフォルトの表示形式から変更する場合は String() 関数を使います。 String(Date('1/12/2016'),'yyyy-mm-dd...