来自UserHashedTableAuth的Ktor基本身份验证

时间:2019-06-14 13:54:44

标签: authentication kotlin base64 sha256 ktor

在来自Ktor网站https://ktor.io/samples/feature/auth.html的此示例中,他们以密码为“ test”的帐户“ test”为例。

@UseExperimental(KtorExperimentalAPI::class)
val hashedUserTable = UserHashedTableAuth(
    getDigestFunction("SHA-256") { "ktor${it.length}" },
    table = mapOf(
        "test" to Base64.getDecoder().decode("GSjkHCHGAxTTbnkEDBbVYd+PUFRlcWiumc4+MWE9Rvw=") // sha256 for "test"
    )
)

我需要创建另一个条目,但是我无法弄清楚它们是如何获得该哈希值的。我尝试对“ test”一词进行sha256(无论是否盐腌),尝试对结果进行base64处理……哈希没有匹配项,因此我无法创建另一个用户。

任何人都可以在这里启发我如何使用该代码创建兼容的哈希?

1 个答案:

答案 0 :(得分:1)

经过多次尝试和错误...以下是重复操作的方法:

echo -n ktor4test | openssl dgst -binary -sha256 | openssl base64

我希望这可以帮助将来的某个人不要浪费自己的时间。