Initial Dever 0.0.1
This commit is contained in:
commit
81233d098c
1479 files changed
+163782
No files matched your search
@@ -0,0 +1,33 @@
|
||||
verify() (answer: Bool) {
|
||||
password = dever.crypto.token(16)
|
||||
wrong = dever.crypto.token(32)
|
||||
hash = dever.crypto.passwordHash(password)
|
||||
accepted = dever.crypto.passwordVerify(password, hash)
|
||||
rejected = dever.crypto.passwordVerify(wrong, hash)
|
||||
data = dever.bytes.fromText("message")
|
||||
first = dever.crypto.hmacSha256(password, data)
|
||||
second = dever.crypto.hmacSha256(password, data)
|
||||
digest = dever.crypto.sha256(dever.bytes.fromText("abc"))
|
||||
expected = dever.bytes.fromInts([186, 120, 22, 191, 143, 1, 207, 234, 65, 65, 64, 222, 93, 174, 34, 35, 176, 3, 97, 163, 150, 23, 122, 156, 180, 16, 255, 97, 242, 0, 21, 173])
|
||||
answer = accepted and not rejected and dever.crypto.constantTimeEq(first, second) and dever.bytes.length(first) == 32 and dever.crypto.constantTimeEq(digest, expected)
|
||||
}
|
||||
|
||||
asyncVerify() (answer: Bool) {
|
||||
password = dever.crypto.token(16)
|
||||
hash = blocking(dever.crypto.passwordHash(password))
|
||||
answer = blocking(dever.crypto.passwordVerify(password, hash))
|
||||
}
|
||||
|
||||
rejected(value: dever.crypto.VerifyResult.Ready(valid)) (answer: Bool) recover("观察不支持的PHC") { answer = false }
|
||||
rejected(value: dever.crypto.VerifyResult.Failed(message)) (answer: Bool) recover("观察不支持的PHC") { answer = length(message) > 0 }
|
||||
|
||||
phcVerify() (answer: Bool) {
|
||||
password = dever.crypto.token(16)
|
||||
answer = rejected(result(dever.crypto.passwordVerify(password, "$argon2id$v=19$m=19456,t=2,p=536870912$c29tZXNhbHQ$AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA")))
|
||||
}
|
||||
|
||||
invalid() () { password = dever.crypto.token(0) }
|
||||
|
||||
leak() (value: Secret?) { value = null }
|
||||
|
||||
leakList() (values: List<Secret>) { values = [] }
|
||||
Reference in new issue
Block a user