「应用安全」OAuth和OpenID Connect的全面比较(47)

// from the database is not supported.

throw toException(server_error A050102);

private String computeChallengeS256(String verifier)

{

// BASE64URL-ENCODE(SHA256(ASCII(code_verifier)))

// SHA256

byte[
hash =

Digest.getInstanceSHA256().update(verifier).digest();

// BASE64URL

return SecurityUtils.encode(hash);

用于实现computeChallengeS256(String)方法的Digest类包含在我的开源库nv-digest中 。 它是一个实用程序库 , 可以轻松进行摘要计算 。 使用此库 , 计算SHA-256摘要值可以写成一行 , 如下所示 。

推荐阅读