Popularity
3.8
Declining
Activity
0.0
Stable
118
13
8
Programming language: Rust
License: MIT License
Tags:
Cryptography
suruga alternatives and similar packages
Based on the "Cryptography" category.
Alternatively, view suruga alternatives based on common mentions on social networks and blogs.
-
miscreant
Misuse-resistant symmetric encryption library with AES-SIV (RFC 5297) and AES-PMAC-SIV support -
Ockam
Ockam is a suite of tools, programming libraries and infrastructure that make it easy to build devices that communicate securely, privately and trustfully with cloud services and other devices. -
RustCrypto Elliptic Curves
Elliptic curve types and traits for generically expressing curve types, scalars, points, and keys -
rust-security-framework
Bindings for Security Framework (OSX native crypto) -
recrypt
A set of cryptographic primitives for building a multi-hop Proxy Re-encryption scheme, known as Transform Encryption. -
rust-djangohashers
A Rust port of the password primitives used in the Django Project. It doesn't require Django, only hashes and validates passwords according to its style.
Get performance insights in less than 4 minutes.
Scout APM uses tracing logic that ties bottlenecks to source code so you know the exact line of code causing performance issues and can get back to building a great product faster.
Promoted
scoutapm.com
* Code Quality Rankings and insights are calculated and provided by Lumnify.
They vary from L1 to L5 with "L5" being the highest. Visit our partner's website for more details.
Do you think we are missing an alternative of suruga or a related project?
README
suruga is Rust implementation of TLS 1.2.
It currently implements some core parts of TLS 1.2, NIST P-256 ECDHE and chacha20-poly1305.
Usage
extern crate suruga;
use std::io::prelude::*;
use std::net::TcpStream;
fn main() {
test().unwrap();
}
fn test() -> suruga::tls_result::TlsResult<()> {
let stream = try!(TcpStream::connect("www.google.com:443"));
let mut client = try!(suruga::TlsClient::from_tcp(stream));
let _len = try!(client.write(b"GET / HTTP/1.1\r\nHost: www.google.com\r\n\r\n"));
let mut msg = vec![0u8; 100];
try!(client.read(&mut msg));
let msg = String::from_utf8_lossy(&msg);
println!("msg: {}", msg);
try!(client.close());
Ok(())
}