Skip to content

Instantly share code, notes, and snippets.

@virtix
Created June 22, 2009 10:22
Show Gist options
  • Save virtix/133904 to your computer and use it in GitHub Desktop.
Save virtix/133904 to your computer and use it in GitHub Desktop.
<cffunction name="computeHash" access="public" returntype="String">
<cfargument name="password" type="string" />
<cfargument name="salt" type="string" />
<cfargument name="iterations" type="numeric" required="false" default="1024" />
<cfargument name="algorithm" type="string" required="false" default="SHA512" />
<cfscript>
var digest = '';
var i = 1;
var input = '';
digest = createObject("java", "java.security.MessageDigest");
digest = digest.getInstance(algorithm);
digest.reset();
digest.update(salt.getBytes());
input = digest.digest(password.getBytes("UTF-8"));
for (i = 1; i <= iterations; i++) {
digest.reset();
input = digest.digest(input);
}
return toBase64(input);
</cfscript>
</cffunction>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment