我想更新數據庫中的所有密碼以使MD5散列密碼。下面的問題並沒有解決我的問題:Firebird:如何製作md5哈希?
UPDATE USERS SET USERPASS = hash('SALT' || USERPASS);
問題是:它返回一個散列,它不是使用MD5算法生成的。我如何在Firebird中實現md5哈希算法?
我想更新數據庫中的所有密碼以使MD5散列密碼。下面的問題並沒有解決我的問題:Firebird:如何製作md5哈希?
UPDATE USERS SET USERPASS = hash('SALT' || USERPASS);
問題是:它返回一個散列,它不是使用MD5算法生成的。我如何在Firebird中實現md5哈希算法?
不幸的是,hash
函數的algortihm在the documentation中沒有提到...無論如何,您可以將它實現爲UDF或使用實現它的第三方UDF庫。在IBPhoenix網站上有一個UDF Libraries for Firebird的列表,似乎rFunc和FreeAdhocUDF庫都有一個(我只檢查了這兩個,可能還有其他的)。
怎麼樣sha256或sha512? –
在IBPhoenix網站列表中包含'fb_mhash/fb_shash',它被描述爲「實現到mhash庫(libmhash)的接口」。 [mhash](http://mhash.sourceforge.net/)支持sha256和sha512,所以它似乎符合法案。 IBPhoenix網站上的鏈接被破壞,但谷歌發現這一點:http://nixbit.com/cat/programming/libraries/fb-mhash/ – ain
散列算法說是「ELF」,無論是 –
據我所知,Firebird中的HASH函數不是一個加密哈希,而更像是存在於Java中的'hashcode()'函數。另外:你真的不應該使用密碼的MD5,使用像pbkdf2,bcrypt或scrypt更強大的東西。 –