#verifier #oauth #challenge #verify

pkce

Library for generating PKCE code verifiers and challenges

3 unstable releases

0.2.0 Feb 26, 2023
0.1.1 Jan 14, 2021
0.1.0 Jul 13, 2020

#1062 in Authentication

Download history 963/week @ 2025-10-01 947/week @ 2025-10-08 1485/week @ 2025-10-15 1672/week @ 2025-10-22 2096/week @ 2025-10-29 1742/week @ 2025-11-05 1540/week @ 2025-11-12 1826/week @ 2025-11-19 1170/week @ 2025-11-26 1462/week @ 2025-12-03 1319/week @ 2025-12-10 2245/week @ 2025-12-17 1238/week @ 2025-12-24 1220/week @ 2025-12-31 4522/week @ 2026-01-07 3625/week @ 2026-01-14

11,024 downloads per month
Used in 10 crates (9 directly)

MIT/Apache

5KB

This is a minimal library with functions to generate random code verifiers and challenges to be used for OAuth Proof Key for Code Exchange.

extern crate pkce;

fn main() {
    let code_verify = pkce::code_verifier(128);
    let code_challenge = pkce::code_challenge(&code_verify);

    println!("Code challenge generated: {}", code_challenge);
}

pkce-rs

A very simple library for generating code verifiers and challenges to use for OAuth Proof Key for Code Exchange. It is not rocket science.

extern crate pkce;

fn main() {
    // Generate a random 128-byte code verifier (must be between 43 and 128 bytes)
    let code_verify = pkce::code_verifier(128);
    // Generate an encrypted code challenge accordingly
    let code_challenge = pkce::code_challenge(&code_verify);

    println!("Code challenge generated: {}", code_challenge);
}

Wow, it really is that simple.

Features

In order to support WebAssembly enable feature js.

Dependencies

~1.1–1.6MB
~33K SLoC