#chat #messaging #ruma #matrix-chat #codec #nio

matrix-sdk-qrcode

Library to encode and decode QR codes for interactive verifications in Matrix land

5 releases (3 breaking)

0.8.0 Nov 19, 2024
0.7.1 Jul 19, 2024
0.7.0 Jan 5, 2024
0.4.0 Sep 28, 2022
0.3.0 May 11, 2022

#313 in Development tools

Download history 11/week @ 2024-08-16 4/week @ 2024-08-23 9/week @ 2024-08-30 2/week @ 2024-09-06 16/week @ 2024-09-13 18/week @ 2024-09-20 17/week @ 2024-09-27 5/week @ 2024-10-04 44/week @ 2024-10-11 13/week @ 2024-10-18 2/week @ 2024-10-25 11/week @ 2024-11-01 4/week @ 2024-11-08 136/week @ 2024-11-15 32/week @ 2024-11-22 11/week @ 2024-11-29

184 downloads per month
Used in 4 crates (2 directly)

Apache-2.0

36KB
378 lines

matrix-sdk-qrcode is a crate to easily generate and parse QR codes for interactive verification using QR codes in Matrix.

Usage

This is probably not the crate you are looking for, it's used internally in the matrix-sdk.

If you still want to play with QR codes, here is a helpful example.

Encode into a QR code

use matrix_sdk_qrcode::{QrVerificationData, DecodingError};
use image::Luma;

fn main() -> Result<(), DecodingError> {
    let data = b"MATRIX\
        \x02\x02\x00\x07\
        FLOW_ID\
        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\
        BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB\
        SHARED_SECRET";

    let data = QrVerificationData::from_bytes(data)?;
    let encoded = data.to_qr_code().unwrap();
    let image = encoded.render::<Luma<u8>>().build();

    Ok(())
}

Dependencies

~20MB
~324K SLoC