Typumwandlung... Nicht gut
Typumwandlung (englische Version hat mehr Details) hat fast jeden Programmiersprache. Manchmal hat das Vorteile da man schnell mal was zusammenbauen kann.
Leider hat es auch seine Gefahren. Wie hier am Beispiel in PHP zu sehen:
var_dump(md5(‘240610708’) == md5(‘QNKCDZO’));
var_dump(md5(‘aabg7XSs’) == md5(‘aabC9RqS’));
var_dump(sha1(‘aaroZmOk’) == sha1(‘aaK1STfY’));
var_dump(sha1(‘aaO8zKZF’) == sha1(‘aa3OFF9m’));
var_dump(‘0010e2’ == ‘1e3’);
var_dump(‘0x1234Ab’ == ‘1193131’);
var_dump(‘0xABCdef’ == ’ 0xABCdef’);
Output for 4.3.0 - 4.3.9, 5.0.0 - 5.0.2, 5.2.1 - 5.6.8, php7@20140507 - 20150101, hhvm-3.6.0 - 3.7.0
bool(true)
bool(true)
bool(true)
bool(true)
bool(true)
bool(true)
bool(true)
WTF?
Hier auch die HackerNews Diskussion dazu.