来自 UserHashedTableAuth 的 Ktor 基本认证

Ktor basic auth from UserHashedTableAuth

在这个来自 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 处理...没有任何内容与该哈希匹配,因此我无法创建另一个用户。

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

经过多次尝试和错误...以下是复制方法:

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

我希望这能帮助以后的人不要浪费和我一样的时间。