[B][+] Create function to hash passwords
This commit is contained in:
@@ -31,6 +31,18 @@ fun randSalt(len: Int = 16): ByteArray
|
|||||||
return salt
|
return salt
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Hash a password
|
||||||
|
*
|
||||||
|
* @return <Hash, Salt>
|
||||||
|
*/
|
||||||
|
fun String.passwordHash(salt: String = randSalt().base64): Pair<String, String>
|
||||||
|
{
|
||||||
|
val spec: KeySpec = PBEKeySpec(toCharArray(), salt.base64, 32767, 512)
|
||||||
|
val factory = SecretKeyFactory.getInstance("PBKDF2WithHmacSHA1")
|
||||||
|
return Pair(factory.generateSecret(spec).encoded.base64, salt)
|
||||||
|
}
|
||||||
|
|
||||||
val ByteArray.base64: String
|
val ByteArray.base64: String
|
||||||
get() = Base64.getEncoder().encodeToString(this)
|
get() = Base64.getEncoder().encodeToString(this)
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user