Crates.io | pwsec |
lib.rs | pwsec |
version | 0.5.1 |
source | src |
created_at | 2024-10-30 17:27:50.855459 |
updated_at | 2024-10-30 17:27:50.855459 |
description | Support for password-based encryption. |
homepage | |
repository | https://github.com/emabee/pwsec |
max_upload_size | |
id | 1428879 |
size | 54,598 |
pwsec
- support for password-based encryptionAdd pwsec
to the dependencies section in your project's Cargo.toml
:
[dependencies]
pwsec = "0.5"
pwsec
uses an (optionally authenticated) encryption scheme.
Two closely related variants are provided currently, Chacha
and ChachaB64
.
Alternative variants with similar API and based on other encryption algorithms can be added on demand.
ChachaB64
and storage in a fileflowchart LR
A1{{Auth data}}
A2[/Auth data/]
C[/CipherB64/]
E[__ChachaB64::__
__encrypt_auth__
]
M{{Password}}
P{{Secret}}
style E fill:#AAf,stroke:#333,stroke-width:3px
subgraph File
C
A2
end
subgraph Application Data
A1
P
end
M
M --> E
P -- Serialization --> E
A1 -- Serialization --> E
E --> C
A1 -. Serialization .-> A2
flowchart RL
A1{{Auth data}}
A2[/Auth data/]
C[/CipherB64/]
D[__ChachaB64::
decrypt_auth__]
M{{Password}}
P{{Secret}}
style D fill:#AAf,stroke:#333,stroke-width:3px
subgraph File
C
A2
end
subgraph Application Data
A1
P
end
M
M --> D
D -- Deserialization --> P
A2 --> D
C --> D
A2 -. Deserialization .-> A1
See the change log for more details.
Licensed under either of:
at your option.