[][src]Crate magic_crypt

MagicCrypt

MagicCrypt is a Java/PHP/NodeJS/Rust library to encrypt/decrpyt strings, files, or data, using Data Encryption Standard(DES) or Advanced Encryption Standard(AES) algorithms. It supports CBC block cipher mode, PKCS5 padding and 64, 128, 192 or 256-bits key length.

For Rust

Example

#[macro_use] extern crate magic_crypt;

use magic_crypt::MagicCryptTrait;

let mc = new_magic_crypt!("magickey", 256);

let base64 = mc.encrypt_str_to_base64("http://magiclen.org");

assert_eq!("DS/2U8royDnJDiNY2ps3f6ZoTbpZo8ZtUGYLGEjwLDQ=", base64);

assert_eq!("http://magiclen.org", mc.decrypt_base64_to_string(&base64).unwrap());

Change the Buffer Size

The default buffer size for the encrypt_reader_to_writer method and the decrypt_reader_to_writer method is 4096 bytes. If you want to change that, you can use the encrypt_reader_to_writer2 method or the decrypt_reader_to_writer2 method, and define a length explicitly.

For example, to change the buffer size to 256 bytes,

#[macro_use] extern crate magic_crypt;
extern crate base64;

use std::io::Cursor;

use magic_crypt::MagicCryptTrait;
use magic_crypt::generic_array::typenum::U256;

let mc = new_magic_crypt!("magickey", 256);

let mut reader = Cursor::new("http://magiclen.org");
let mut writer = Vec::new();

mc.encrypt_reader_to_writer2::<U256>(&mut reader, &mut writer).unwrap();

let base64 = base64::encode(&writer);

assert_eq!("DS/2U8royDnJDiNY2ps3f6ZoTbpZo8ZtUGYLGEjwLDQ=", base64);

assert_eq!("http://magiclen.org", mc.decrypt_base64_to_string(&base64).unwrap());

No Std

Disable the default features to compile this crate without std.

[dependencies.magic-crypt]
version = "*"
default-features = false

For Java

Refer to https://github.com/magiclen/MagicCrypt.

For PHP

Refer to https://github.com/magiclen/MagicCrypt.

For NodeJS

Refer to https://github.com/magiclen/node-magiccrypt

Re-exports

pub use digest::generic_array;

Macros

new_magic_crypt

This macro provides a convenient way to create a MagicCrypt<bits> instance or a MagicCrypt instance.

Structs

MagicCrypt

This struct can help you encrypt or decrypt data in a quick way.

MagicCrypt64

This struct can help you encrypt or decrypt data via DES-64 in a quick way.

MagicCrypt128

This struct can help you encrypt or decrypt data via AES-128 in a quick way.

MagicCrypt192

This struct can help you encrypt or decrypt data via AES-192 in a quick way.

MagicCrypt256

This struct can help you encrypt or decrypt data via AES-256 in a quick way.

Enums

MagicCryptError

Errors for MagicCrypt.

SecureBit

How secure does your encryption need to be?

Traits

MagicCryptTrait

Methods for MagicCrypt and MagicCrypt<bits> structs.