Difference between revisions of "Ns sha1"
Jump to navigation
Jump to search
(added postgresql section) |
|||
| Line 30: | Line 30: | ||
This function is provided by the [[nssha1]] module. | This function is provided by the [[nssha1]] module. | ||
| + | |||
| + | Unfortunately, this implementation does not seem to be immediately compatible with other SHA1 implementations. | ||
| + | |||
| + | Postgresql: | ||
| + | |||
| + | <pre> | ||
| + | template1=> select encode(digest('mypassword','SHA1'),'hex'); | ||
| + | encode | ||
| + | ------------------------------------------ | ||
| + | 91dfd9ddb4198affc5c194cd8ce6d338fde470e2 | ||
| + | (1 row) | ||
| + | </pre> | ||
Revision as of 22:36, 2 December 2005
Function
ns_sha1 string
Description
Returns a 40-character, hex-encoded string containing the SHA1 hash of the first argument.
Usage
Example 1:
set sRawPassword "mypassword" set sPassword [ns_sha1 $sRawPassword] ns_adp_puts $sPassword # 04003622EB9D0F788CE7568C7EED23809534365A
Usually this function is used with a salt, as without a salt it is succeptible to dictionary-based attacks.
Example 2:
set sSalt "salty"
set sRawPassword "mypassword"
set sPassword [ns_sha1 ${sRawPassword}${sSalt}]
# B48FB74597C11FC609DBE912992085EB07847FB6
This function is provided by the nssha1 module.
Unfortunately, this implementation does not seem to be immediately compatible with other SHA1 implementations.
Postgresql:
template1=> select encode(digest('mypassword','SHA1'),'hex');
encode
------------------------------------------
91dfd9ddb4198affc5c194cd8ce6d338fde470e2
(1 row)