Initial docs commit
This commit is contained in:
@@ -0,0 +1,25 @@
|
||||
<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="API documentation for the Rust `Mode` enum in crate `openssl`."><meta name="keywords" content="rust, rustlang, rust-lang, Mode"><title>openssl::symm::Mode - Rust</title><link rel="stylesheet" type="text/css" href="../../normalize.css"><link rel="stylesheet" type="text/css" href="../../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../../ayu.css" disabled ><script id="default-settings"></script><script src="../../storage.js"></script><noscript><link rel="stylesheet" href="../../noscript.css"></noscript><link rel="icon" type="image/svg+xml" href="../../favicon.svg">
|
||||
<link rel="alternate icon" type="image/png" href="../../favicon-16x16.png">
|
||||
<link rel="alternate icon" type="image/png" href="../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../down-arrow.svg");}</style></head><body class="rustdoc enum"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu">☰</div><a href='../../openssl/index.html'><div class='logo-container rust-logo'><img src='../../rust-logo.png' alt='logo'></div></a><p class="location">Enum Mode</p><div class="sidebar-elems"><div class="block items"><a class="sidebar-title" href="#variants">Variants</a><div class="sidebar-links"><a href="#variant.Decrypt">Decrypt</a><a href="#variant.Encrypt">Encrypt</a></div><a class="sidebar-title" href="#trait-implementations">Trait Implementations</a><div class="sidebar-links"><a href="#impl-Clone">Clone</a><a href="#impl-Copy">Copy</a></div><a class="sidebar-title" href="#synthetic-implementations">Auto Trait Implementations</a><div class="sidebar-links"><a href="#impl-RefUnwindSafe">RefUnwindSafe</a><a href="#impl-Send">Send</a><a href="#impl-Sync">Sync</a><a href="#impl-Unpin">Unpin</a><a href="#impl-UnwindSafe">UnwindSafe</a></div><a class="sidebar-title" href="#blanket-implementations">Blanket Implementations</a><div class="sidebar-links"><a href="#impl-Any">Any</a><a href="#impl-Borrow%3CT%3E">Borrow<T></a><a href="#impl-BorrowMut%3CT%3E">BorrowMut<T></a><a href="#impl-From%3CT%3E">From<T></a><a href="#impl-Into%3CU%3E">Into<U></a><a href="#impl-ToOwned">ToOwned</a><a href="#impl-TryFrom%3CU%3E">TryFrom<U></a><a href="#impl-TryInto%3CU%3E">TryInto<U></a></div></div><p class="location"><a href="../index.html">openssl</a>::<wbr><a href="index.html">symm</a></p><div id="sidebar-vars" data-name="Mode" data-ty="enum" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../brush.svg" width="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><script src="../../theme.js"></script><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
|
||||
<a id="settings-menu" href="../../settings.html"><img src="../../wheel.svg" width="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Enum <a href="../index.html">openssl</a>::<wbr><a href="index.html">symm</a>::<wbr><a class="enum" href="">Mode</a></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span><a class="srclink" href="../../src/openssl/symm.rs.html#65-68" title="goto source code">[src]</a></span></h1><div class="docblock type-decl hidden-by-usual-hider"><pre class="rust enum">pub enum Mode {
|
||||
Encrypt,
|
||||
Decrypt,
|
||||
}</pre></div><h2 id="variants" class="variants small-section-header">
|
||||
Variants<a href="#variants" class="anchor"></a></h2>
|
||||
<div id="variant.Encrypt" class="variant small-section-header"><a href="#variant.Encrypt" class="anchor field"></a><code>Encrypt</code></div><div id="variant.Decrypt" class="variant small-section-header"><a href="#variant.Decrypt" class="anchor field"></a><code>Decrypt</code></div><h2 id="trait-implementations" class="small-section-header">Trait Implementations<a href="#trait-implementations" class="anchor"></a></h2><div id="trait-implementations-list"><h3 id="impl-Clone" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a> for <a class="enum" href="../../openssl/symm/enum.Mode.html" title="enum openssl::symm::Mode">Mode</a></code><a href="#impl-Clone" class="anchor"></a><a class="srclink" href="../../src/openssl/symm.rs.html#64" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.clone" class="method hidden"><code>fn <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#tymethod.clone" class="fnname">clone</a>(&self) -> <a class="enum" href="../../openssl/symm/enum.Mode.html" title="enum openssl::symm::Mode">Mode</a></code><a class="srclink" href="../../src/openssl/symm.rs.html#64" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Returns a copy of the value. <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#tymethod.clone">Read more</a></p>
|
||||
</div><h4 id="method.clone_from" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#method.clone_from" class="fnname">clone_from</a>(&mut self, source: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>Self)</code><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/clone.rs.html#128" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs copy-assignment from <code>source</code>. <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#method.clone_from">Read more</a></p>
|
||||
</div></div><h3 id="impl-Copy" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Copy.html" title="trait core::marker::Copy">Copy</a> for <a class="enum" href="../../openssl/symm/enum.Mode.html" title="enum openssl::symm::Mode">Mode</a></code><a href="#impl-Copy" class="anchor"></a><a class="srclink" href="../../src/openssl/symm.rs.html#64" title="goto source code">[src]</a></h3><div class="impl-items"></div></div><h2 id="synthetic-implementations" class="small-section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor"></a></h2><div id="synthetic-implementations-list"><h3 id="impl-RefUnwindSafe" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.RefUnwindSafe.html" title="trait std::panic::RefUnwindSafe">RefUnwindSafe</a> for <a class="enum" href="../../openssl/symm/enum.Mode.html" title="enum openssl::symm::Mode">Mode</a></code><a href="#impl-RefUnwindSafe" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Send" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> for <a class="enum" href="../../openssl/symm/enum.Mode.html" title="enum openssl::symm::Mode">Mode</a></code><a href="#impl-Send" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Sync" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> for <a class="enum" href="../../openssl/symm/enum.Mode.html" title="enum openssl::symm::Mode">Mode</a></code><a href="#impl-Sync" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Unpin" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a> for <a class="enum" href="../../openssl/symm/enum.Mode.html" title="enum openssl::symm::Mode">Mode</a></code><a href="#impl-Unpin" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-UnwindSafe" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.UnwindSafe.html" title="trait std::panic::UnwindSafe">UnwindSafe</a> for <a class="enum" href="../../openssl/symm/enum.Mode.html" title="enum openssl::symm::Mode">Mode</a></code><a href="#impl-UnwindSafe" class="anchor"></a></h3><div class="impl-items"></div></div><h2 id="blanket-implementations" class="small-section-header">Blanket Implementations<a href="#blanket-implementations" class="anchor"></a></h2><div id="blanket-implementations-list"><h3 id="impl-Any" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html" title="trait core::any::Any">Any</a> for T <span class="where fmt-newline">where<br> T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Any" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#131-135" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.type_id" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id" class="fnname">type_id</a>(&self) -> <a class="struct" href="https://doc.rust-lang.org/nightly/core/any/struct.TypeId.html" title="struct core::any::TypeId">TypeId</a></code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#132" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Gets the <code>TypeId</code> of <code>self</code>. <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id">Read more</a></p>
|
||||
</div></div><h3 id="impl-Borrow%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a><T> for T <span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Borrow%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#207-211" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.borrow" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow" class="fnname">borrow</a>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>T</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#208" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Immutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow">Read more</a></p>
|
||||
</div></div><h3 id="impl-BorrowMut%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html" title="trait core::borrow::BorrowMut">BorrowMut</a><T> for T <span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-BorrowMut%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#214-218" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.borrow_mut" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut" class="fnname">borrow_mut</a>(&mut self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>T</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#215" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Mutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut">Read more</a></p>
|
||||
</div></div><h3 id="impl-From%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T> for T</code><a href="#impl-From%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#545-549" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.from" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(t: T) -> T</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#546" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
|
||||
</div></div><h3 id="impl-Into%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T>, </span></code><a href="#impl-Into%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#534-541" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.into" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html#tymethod.into" class="fnname">into</a>(self) -> U</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#538" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
|
||||
</div></div><h3 id="impl-ToOwned" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html" title="trait alloc::borrow::ToOwned">ToOwned</a> for T <span class="where fmt-newline">where<br> T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>, </span></code><a href="#impl-ToOwned" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#81-93" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Owned" class="type"><code>type <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#associatedtype.Owned" class="type">Owned</a> = T</code></h4><div class='docblock'><p>The resulting type after obtaining ownership.</p>
|
||||
</div><h4 id="method.to_owned" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#tymethod.to_owned" class="fnname">to_owned</a>(&self) -> T</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#86" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Creates owned data from borrowed data, usually by cloning. <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#tymethod.to_owned">Read more</a></p>
|
||||
</div><h4 id="method.clone_into" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#method.clone_into" class="fnname">clone_into</a>(&self, target: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>T)</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#90" title="goto source code">[src]</a></h4><div class="item-info hidden"><div class="stab unstable"><details><summary><span class="emoji">🔬</span> This is a nightly-only experimental API. (<code>toowned_clone_into</code>)</summary><p>recently added</p>
|
||||
</details></div></div><div class='docblock hidden'><p>Uses borrowed data to replace owned data, usually by cloning. <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#method.clone_into">Read more</a></p>
|
||||
</div></div><h3 id="impl-TryFrom%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><T>, </span></code><a href="#impl-TryFrom%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#582-591" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Error" class="type"><code>type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" class="type">Error</a> = <a class="enum" href="https://doc.rust-lang.org/nightly/core/convert/enum.Infallible.html" title="enum core::convert::Infallible">Infallible</a></code></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
|
||||
</div><h4 id="method.try_from" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#tymethod.try_from" class="fnname">try_from</a>(value: U) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><T, <T as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#588" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
|
||||
</div></div><h3 id="impl-TryInto%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html" title="trait core::convert::TryInto">TryInto</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>, </span></code><a href="#impl-TryInto%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#568-577" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Error-1" class="type"><code>type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#associatedtype.Error" class="type">Error</a> = <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a></code></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
|
||||
</div><h4 id="method.try_into" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#tymethod.try_into" class="fnname">try_into</a>(self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><U, <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#574" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
|
||||
</div></div></div></section><section id="search" class="content hidden"></section><section class="footer"></section><div id="rustdoc-vars" data-root-path="../../" data-current-crate="openssl"></div>
|
||||
<script src="../../main.js"></script><script defer src="../../search-index.js"></script></body></html>
|
||||
@@ -0,0 +1,30 @@
|
||||
<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="Decrypts data in one go, and returns the decrypted data."><meta name="keywords" content="rust, rustlang, rust-lang, decrypt"><title>openssl::symm::decrypt - Rust</title><link rel="stylesheet" type="text/css" href="../../normalize.css"><link rel="stylesheet" type="text/css" href="../../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../../ayu.css" disabled ><script id="default-settings"></script><script src="../../storage.js"></script><noscript><link rel="stylesheet" href="../../noscript.css"></noscript><link rel="icon" type="image/svg+xml" href="../../favicon.svg">
|
||||
<link rel="alternate icon" type="image/png" href="../../favicon-16x16.png">
|
||||
<link rel="alternate icon" type="image/png" href="../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../down-arrow.svg");}</style></head><body class="rustdoc fn"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu">☰</div><a href='../../openssl/index.html'><div class='logo-container rust-logo'><img src='../../rust-logo.png' alt='logo'></div></a><div class="sidebar-elems"><p class="location"><a href="../index.html">openssl</a>::<wbr><a href="index.html">symm</a></p><div id="sidebar-vars" data-name="decrypt" data-ty="fn" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../brush.svg" width="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><script src="../../theme.js"></script><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
|
||||
<a id="settings-menu" href="../../settings.html"><img src="../../wheel.svg" width="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Function <a href="../index.html">openssl</a>::<wbr><a href="index.html">symm</a>::<wbr><a class="fn" href="">decrypt</a></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span><a class="srclink" href="../../src/openssl/symm.rs.html#740-747" title="goto source code">[src]</a></span></h1><pre class="rust fn">pub fn decrypt(<br> t: <a class="struct" href="../../openssl/symm/struct.Cipher.html" title="struct openssl::symm::Cipher">Cipher</a>, <br> key: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">&[</a><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">]</a>, <br> iv: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">&[</a><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">]</a>>, <br> data: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">&[</a><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">]</a><br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a>>, <a class="struct" href="../../openssl/error/struct.ErrorStack.html" title="struct openssl::error::ErrorStack">ErrorStack</a>></pre><div class="docblock"><p>Decrypts data in one go, and returns the decrypted data.</p>
|
||||
<p>Data is decrypted using the specified cipher type <code>t</code> in decrypt mode with the specified <code>key</code>
|
||||
and initailization vector <code>iv</code>. Padding is enabled.</p>
|
||||
<p>This is a convenient interface to <code>Crypter</code> to decrypt all data in one go. To decrypt a stream
|
||||
of data increamentally , use <code>Crypter</code> instead.</p>
|
||||
<h1 id="examples" class="section-header"><a href="#examples">Examples</a></h1>
|
||||
<p>Decrypt data in AES128 CBC mode</p>
|
||||
|
||||
<div class="example-wrap"><pre class="rust rust-example-rendered">
|
||||
<span class="kw">use</span> <span class="ident">openssl</span>::<span class="ident">symm</span>::{<span class="ident">decrypt</span>, <span class="ident">Cipher</span>};
|
||||
|
||||
<span class="kw">let</span> <span class="ident">cipher</span> <span class="op">=</span> <span class="ident">Cipher</span>::<span class="ident">aes_128_cbc</span>();
|
||||
<span class="kw">let</span> <span class="ident">data</span> <span class="op">=</span> <span class="string">b"\xB4\xB9\xE7\x30\xD6\xD6\xF7\xDE\x77\x3F\x1C\xFF\xB3\x3E\x44\x5A\x91\xD7\x27\x62\
|
||||
\x87\x4D\xFB\x3C\x5E\xC4\x59\x72\x4A\xF4\x7C\xA1"</span>;
|
||||
<span class="kw">let</span> <span class="ident">key</span> <span class="op">=</span> <span class="string">b"\x00\x01\x02\x03\x04\x05\x06\x07\x08\x09\x0A\x0B\x0C\x0D\x0E\x0F"</span>;
|
||||
<span class="kw">let</span> <span class="ident">iv</span> <span class="op">=</span> <span class="string">b"\x00\x01\x02\x03\x04\x05\x06\x07\x00\x01\x02\x03\x04\x05\x06\x07"</span>;
|
||||
<span class="kw">let</span> <span class="ident">ciphertext</span> <span class="op">=</span> <span class="ident">decrypt</span>(
|
||||
<span class="ident">cipher</span>,
|
||||
<span class="ident">key</span>,
|
||||
<span class="prelude-val">Some</span>(<span class="ident">iv</span>),
|
||||
<span class="ident">data</span>).<span class="ident">unwrap</span>();
|
||||
|
||||
<span class="macro">assert_eq</span><span class="macro">!</span>(
|
||||
<span class="string">b"Some Crypto Text"</span>,
|
||||
<span class="kw-2">&</span><span class="ident">ciphertext</span>[..]);</pre></div>
|
||||
</div></section><section id="search" class="content hidden"></section><section class="footer"></section><div id="rustdoc-vars" data-root-path="../../" data-current-crate="openssl"></div>
|
||||
<script src="../../main.js"></script><script defer src="../../search-index.js"></script></body></html>
|
||||
@@ -0,0 +1,8 @@
|
||||
<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="Like `decrypt`, but for AEAD ciphers such as AES GCM."><meta name="keywords" content="rust, rustlang, rust-lang, decrypt_aead"><title>openssl::symm::decrypt_aead - Rust</title><link rel="stylesheet" type="text/css" href="../../normalize.css"><link rel="stylesheet" type="text/css" href="../../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../../ayu.css" disabled ><script id="default-settings"></script><script src="../../storage.js"></script><noscript><link rel="stylesheet" href="../../noscript.css"></noscript><link rel="icon" type="image/svg+xml" href="../../favicon.svg">
|
||||
<link rel="alternate icon" type="image/png" href="../../favicon-16x16.png">
|
||||
<link rel="alternate icon" type="image/png" href="../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../down-arrow.svg");}</style></head><body class="rustdoc fn"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu">☰</div><a href='../../openssl/index.html'><div class='logo-container rust-logo'><img src='../../rust-logo.png' alt='logo'></div></a><div class="sidebar-elems"><p class="location"><a href="../index.html">openssl</a>::<wbr><a href="index.html">symm</a></p><div id="sidebar-vars" data-name="decrypt_aead" data-ty="fn" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../brush.svg" width="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><script src="../../theme.js"></script><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
|
||||
<a id="settings-menu" href="../../settings.html"><img src="../../wheel.svg" width="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Function <a href="../index.html">openssl</a>::<wbr><a href="index.html">symm</a>::<wbr><a class="fn" href="">decrypt_aead</a></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span><a class="srclink" href="../../src/openssl/symm.rs.html#803-834" title="goto source code">[src]</a></span></h1><pre class="rust fn">pub fn decrypt_aead(<br> t: <a class="struct" href="../../openssl/symm/struct.Cipher.html" title="struct openssl::symm::Cipher">Cipher</a>, <br> key: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">&[</a><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">]</a>, <br> iv: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">&[</a><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">]</a>>, <br> aad: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">&[</a><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">]</a>, <br> data: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">&[</a><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">]</a>, <br> tag: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">&[</a><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">]</a><br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a>>, <a class="struct" href="../../openssl/error/struct.ErrorStack.html" title="struct openssl::error::ErrorStack">ErrorStack</a>></pre><div class="docblock"><p>Like <code>decrypt</code>, but for AEAD ciphers such as AES GCM.</p>
|
||||
<p>Additional Authenticated Data can be provided in the <code>aad</code> field, and the authentication tag
|
||||
should be provided in the <code>tag</code> field.</p>
|
||||
</div></section><section id="search" class="content hidden"></section><section class="footer"></section><div id="rustdoc-vars" data-root-path="../../" data-current-crate="openssl"></div>
|
||||
<script src="../../main.js"></script><script defer src="../../search-index.js"></script></body></html>
|
||||
@@ -0,0 +1,30 @@
|
||||
<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="Encrypts data in one go, and returns the encrypted data."><meta name="keywords" content="rust, rustlang, rust-lang, encrypt"><title>openssl::symm::encrypt - Rust</title><link rel="stylesheet" type="text/css" href="../../normalize.css"><link rel="stylesheet" type="text/css" href="../../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../../ayu.css" disabled ><script id="default-settings"></script><script src="../../storage.js"></script><noscript><link rel="stylesheet" href="../../noscript.css"></noscript><link rel="icon" type="image/svg+xml" href="../../favicon.svg">
|
||||
<link rel="alternate icon" type="image/png" href="../../favicon-16x16.png">
|
||||
<link rel="alternate icon" type="image/png" href="../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../down-arrow.svg");}</style></head><body class="rustdoc fn"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu">☰</div><a href='../../openssl/index.html'><div class='logo-container rust-logo'><img src='../../rust-logo.png' alt='logo'></div></a><div class="sidebar-elems"><p class="location"><a href="../index.html">openssl</a>::<wbr><a href="index.html">symm</a></p><div id="sidebar-vars" data-name="encrypt" data-ty="fn" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../brush.svg" width="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><script src="../../theme.js"></script><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
|
||||
<a id="settings-menu" href="../../settings.html"><img src="../../wheel.svg" width="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Function <a href="../index.html">openssl</a>::<wbr><a href="index.html">symm</a>::<wbr><a class="fn" href="">encrypt</a></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span><a class="srclink" href="../../src/openssl/symm.rs.html#701-708" title="goto source code">[src]</a></span></h1><pre class="rust fn">pub fn encrypt(<br> t: <a class="struct" href="../../openssl/symm/struct.Cipher.html" title="struct openssl::symm::Cipher">Cipher</a>, <br> key: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">&[</a><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">]</a>, <br> iv: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">&[</a><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">]</a>>, <br> data: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">&[</a><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">]</a><br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a>>, <a class="struct" href="../../openssl/error/struct.ErrorStack.html" title="struct openssl::error::ErrorStack">ErrorStack</a>></pre><div class="docblock"><p>Encrypts data in one go, and returns the encrypted data.</p>
|
||||
<p>Data is encrypted using the specified cipher type <code>t</code> in encrypt mode with the specified <code>key</code>
|
||||
and initailization vector <code>iv</code>. Padding is enabled.</p>
|
||||
<p>This is a convenient interface to <code>Crypter</code> to encrypt all data in one go. To encrypt a stream
|
||||
of data increamentally , use <code>Crypter</code> instead.</p>
|
||||
<h1 id="examples" class="section-header"><a href="#examples">Examples</a></h1>
|
||||
<p>Encrypt data in AES128 CBC mode</p>
|
||||
|
||||
<div class="example-wrap"><pre class="rust rust-example-rendered">
|
||||
<span class="kw">use</span> <span class="ident">openssl</span>::<span class="ident">symm</span>::{<span class="ident">encrypt</span>, <span class="ident">Cipher</span>};
|
||||
|
||||
<span class="kw">let</span> <span class="ident">cipher</span> <span class="op">=</span> <span class="ident">Cipher</span>::<span class="ident">aes_128_cbc</span>();
|
||||
<span class="kw">let</span> <span class="ident">data</span> <span class="op">=</span> <span class="string">b"Some Crypto Text"</span>;
|
||||
<span class="kw">let</span> <span class="ident">key</span> <span class="op">=</span> <span class="string">b"\x00\x01\x02\x03\x04\x05\x06\x07\x08\x09\x0A\x0B\x0C\x0D\x0E\x0F"</span>;
|
||||
<span class="kw">let</span> <span class="ident">iv</span> <span class="op">=</span> <span class="string">b"\x00\x01\x02\x03\x04\x05\x06\x07\x00\x01\x02\x03\x04\x05\x06\x07"</span>;
|
||||
<span class="kw">let</span> <span class="ident">ciphertext</span> <span class="op">=</span> <span class="ident">encrypt</span>(
|
||||
<span class="ident">cipher</span>,
|
||||
<span class="ident">key</span>,
|
||||
<span class="prelude-val">Some</span>(<span class="ident">iv</span>),
|
||||
<span class="ident">data</span>).<span class="ident">unwrap</span>();
|
||||
|
||||
<span class="macro">assert_eq</span><span class="macro">!</span>(
|
||||
<span class="string">b"\xB4\xB9\xE7\x30\xD6\xD6\xF7\xDE\x77\x3F\x1C\xFF\xB3\x3E\x44\x5A\x91\xD7\x27\x62\x87\x4D\
|
||||
\xFB\x3C\x5E\xC4\x59\x72\x4A\xF4\x7C\xA1"</span>,
|
||||
<span class="kw-2">&</span><span class="ident">ciphertext</span>[..]);</pre></div>
|
||||
</div></section><section id="search" class="content hidden"></section><section class="footer"></section><div id="rustdoc-vars" data-root-path="../../" data-current-crate="openssl"></div>
|
||||
<script src="../../main.js"></script><script defer src="../../search-index.js"></script></body></html>
|
||||
@@ -0,0 +1,11 @@
|
||||
<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="Like `encrypt`, but for AEAD ciphers such as AES GCM."><meta name="keywords" content="rust, rustlang, rust-lang, encrypt_aead"><title>openssl::symm::encrypt_aead - Rust</title><link rel="stylesheet" type="text/css" href="../../normalize.css"><link rel="stylesheet" type="text/css" href="../../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../../ayu.css" disabled ><script id="default-settings"></script><script src="../../storage.js"></script><noscript><link rel="stylesheet" href="../../noscript.css"></noscript><link rel="icon" type="image/svg+xml" href="../../favicon.svg">
|
||||
<link rel="alternate icon" type="image/png" href="../../favicon-16x16.png">
|
||||
<link rel="alternate icon" type="image/png" href="../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../down-arrow.svg");}</style></head><body class="rustdoc fn"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu">☰</div><a href='../../openssl/index.html'><div class='logo-container rust-logo'><img src='../../rust-logo.png' alt='logo'></div></a><div class="sidebar-elems"><p class="location"><a href="../index.html">openssl</a>::<wbr><a href="index.html">symm</a></p><div id="sidebar-vars" data-name="encrypt_aead" data-ty="fn" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../brush.svg" width="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><script src="../../theme.js"></script><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
|
||||
<a id="settings-menu" href="../../settings.html"><img src="../../wheel.svg" width="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Function <a href="../index.html">openssl</a>::<wbr><a href="index.html">symm</a>::<wbr><a class="fn" href="">encrypt_aead</a></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span><a class="srclink" href="../../src/openssl/symm.rs.html#772-797" title="goto source code">[src]</a></span></h1><pre class="rust fn">pub fn encrypt_aead(<br> t: <a class="struct" href="../../openssl/symm/struct.Cipher.html" title="struct openssl::symm::Cipher">Cipher</a>, <br> key: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">&[</a><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">]</a>, <br> iv: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">&[</a><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">]</a>>, <br> aad: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">&[</a><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">]</a>, <br> data: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">&[</a><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">]</a>, <br> tag: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">&mut [</a><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">]</a><br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a>>, <a class="struct" href="../../openssl/error/struct.ErrorStack.html" title="struct openssl::error::ErrorStack">ErrorStack</a>></pre><div class="docblock"><p>Like <code>encrypt</code>, but for AEAD ciphers such as AES GCM.</p>
|
||||
<p>Additional Authenticated Data can be provided in the <code>aad</code> field, and the authentication tag
|
||||
will be copied into the <code>tag</code> field.</p>
|
||||
<p>The size of the <code>tag</code> buffer indicates the required size of the tag. While some ciphers support
|
||||
a range of tag sizes, it is recommended to pick the maximum size. For AES GCM, this is 16 bytes,
|
||||
for example.</p>
|
||||
</div></section><section id="search" class="content hidden"></section><section class="footer"></section><div id="rustdoc-vars" data-root-path="../../" data-current-crate="openssl"></div>
|
||||
<script src="../../main.js"></script><script defer src="../../search-index.js"></script></body></html>
|
||||
@@ -0,0 +1,62 @@
|
||||
<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="High level interface to certain symmetric ciphers."><meta name="keywords" content="rust, rustlang, rust-lang, symm"><title>openssl::symm - Rust</title><link rel="stylesheet" type="text/css" href="../../normalize.css"><link rel="stylesheet" type="text/css" href="../../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../../ayu.css" disabled ><script id="default-settings"></script><script src="../../storage.js"></script><noscript><link rel="stylesheet" href="../../noscript.css"></noscript><link rel="icon" type="image/svg+xml" href="../../favicon.svg">
|
||||
<link rel="alternate icon" type="image/png" href="../../favicon-16x16.png">
|
||||
<link rel="alternate icon" type="image/png" href="../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../down-arrow.svg");}</style></head><body class="rustdoc mod"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu">☰</div><a href='../../openssl/index.html'><div class='logo-container rust-logo'><img src='../../rust-logo.png' alt='logo'></div></a><p class="location">Module symm</p><div class="sidebar-elems"><div class="block items"><ul><li><a href="#structs">Structs</a></li><li><a href="#enums">Enums</a></li><li><a href="#functions">Functions</a></li></ul></div><p class="location"><a href="../index.html">openssl</a></p><div id="sidebar-vars" data-name="symm" data-ty="mod" data-relpath="../"></div><script defer src="../sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../brush.svg" width="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><script src="../../theme.js"></script><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
|
||||
<a id="settings-menu" href="../../settings.html"><img src="../../wheel.svg" width="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Module <a href="../index.html">openssl</a>::<wbr><a class="mod" href="">symm</a></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span><a class="srclink" href="../../src/openssl/symm.rs.html#1-1552" title="goto source code">[src]</a></span></h1><div class="docblock"><p>High level interface to certain symmetric ciphers.</p>
|
||||
<h1 id="examples" class="section-header"><a href="#examples">Examples</a></h1>
|
||||
<p>Encrypt data in AES128 CBC mode</p>
|
||||
|
||||
<div class="example-wrap"><pre class="rust rust-example-rendered">
|
||||
<span class="kw">use</span> <span class="ident">openssl</span>::<span class="ident">symm</span>::{<span class="ident">encrypt</span>, <span class="ident">Cipher</span>};
|
||||
|
||||
<span class="kw">let</span> <span class="ident">cipher</span> <span class="op">=</span> <span class="ident">Cipher</span>::<span class="ident">aes_128_cbc</span>();
|
||||
<span class="kw">let</span> <span class="ident">data</span> <span class="op">=</span> <span class="string">b"Some Crypto Text"</span>;
|
||||
<span class="kw">let</span> <span class="ident">key</span> <span class="op">=</span> <span class="string">b"\x00\x01\x02\x03\x04\x05\x06\x07\x08\x09\x0A\x0B\x0C\x0D\x0E\x0F"</span>;
|
||||
<span class="kw">let</span> <span class="ident">iv</span> <span class="op">=</span> <span class="string">b"\x00\x01\x02\x03\x04\x05\x06\x07\x00\x01\x02\x03\x04\x05\x06\x07"</span>;
|
||||
<span class="kw">let</span> <span class="ident">ciphertext</span> <span class="op">=</span> <span class="ident">encrypt</span>(
|
||||
<span class="ident">cipher</span>,
|
||||
<span class="ident">key</span>,
|
||||
<span class="prelude-val">Some</span>(<span class="ident">iv</span>),
|
||||
<span class="ident">data</span>).<span class="ident">unwrap</span>();
|
||||
|
||||
<span class="macro">assert_eq</span><span class="macro">!</span>(
|
||||
<span class="string">b"\xB4\xB9\xE7\x30\xD6\xD6\xF7\xDE\x77\x3F\x1C\xFF\xB3\x3E\x44\x5A\x91\xD7\x27\x62\x87\x4D\
|
||||
\xFB\x3C\x5E\xC4\x59\x72\x4A\xF4\x7C\xA1"</span>,
|
||||
<span class="kw-2">&</span><span class="ident">ciphertext</span>[..]);</pre></div>
|
||||
<p>Encrypting an asymmetric key with a symmetric cipher</p>
|
||||
|
||||
<div class="example-wrap"><pre class="rust rust-example-rendered">
|
||||
<span class="kw">use</span> <span class="ident">openssl</span>::<span class="ident">rsa</span>::{<span class="ident">Padding</span>, <span class="ident">Rsa</span>};
|
||||
<span class="kw">use</span> <span class="ident">openssl</span>::<span class="ident">symm</span>::<span class="ident">Cipher</span>;
|
||||
|
||||
<span class="comment">// Generate keypair and encrypt private key:</span>
|
||||
<span class="kw">let</span> <span class="ident">keypair</span> <span class="op">=</span> <span class="ident">Rsa</span>::<span class="ident">generate</span>(<span class="number">2048</span>).<span class="ident">unwrap</span>();
|
||||
<span class="kw">let</span> <span class="ident">cipher</span> <span class="op">=</span> <span class="ident">Cipher</span>::<span class="ident">aes_256_cbc</span>();
|
||||
<span class="kw">let</span> <span class="ident">pubkey_pem</span> <span class="op">=</span> <span class="ident">keypair</span>.<span class="ident">public_key_to_pem_pkcs1</span>().<span class="ident">unwrap</span>();
|
||||
<span class="kw">let</span> <span class="ident">privkey_pem</span> <span class="op">=</span> <span class="ident">keypair</span>.<span class="ident">private_key_to_pem_passphrase</span>(<span class="ident">cipher</span>, <span class="string">b"Rust"</span>).<span class="ident">unwrap</span>();
|
||||
<span class="comment">// pubkey_pem and privkey_pem could be written to file here.</span>
|
||||
|
||||
<span class="comment">// Load private and public key from string:</span>
|
||||
<span class="kw">let</span> <span class="ident">pubkey</span> <span class="op">=</span> <span class="ident">Rsa</span>::<span class="ident">public_key_from_pem_pkcs1</span>(<span class="kw-2">&</span><span class="ident">pubkey_pem</span>).<span class="ident">unwrap</span>();
|
||||
<span class="kw">let</span> <span class="ident">privkey</span> <span class="op">=</span> <span class="ident">Rsa</span>::<span class="ident">private_key_from_pem_passphrase</span>(<span class="kw-2">&</span><span class="ident">privkey_pem</span>, <span class="string">b"Rust"</span>).<span class="ident">unwrap</span>();
|
||||
|
||||
<span class="comment">// Use the asymmetric keys to encrypt and decrypt a short message:</span>
|
||||
<span class="kw">let</span> <span class="ident">msg</span> <span class="op">=</span> <span class="string">b"Foo bar"</span>;
|
||||
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">encrypted</span> <span class="op">=</span> <span class="macro">vec</span><span class="macro">!</span>[<span class="number">0</span>; <span class="ident">pubkey</span>.<span class="ident">size</span>() <span class="kw">as</span> <span class="ident">usize</span>];
|
||||
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">decrypted</span> <span class="op">=</span> <span class="macro">vec</span><span class="macro">!</span>[<span class="number">0</span>; <span class="ident">privkey</span>.<span class="ident">size</span>() <span class="kw">as</span> <span class="ident">usize</span>];
|
||||
<span class="kw">let</span> <span class="ident">len</span> <span class="op">=</span> <span class="ident">pubkey</span>.<span class="ident">public_encrypt</span>(<span class="ident">msg</span>, <span class="kw-2">&</span><span class="kw-2">mut</span> <span class="ident">encrypted</span>, <span class="ident">Padding</span>::<span class="ident">PKCS1</span>).<span class="ident">unwrap</span>();
|
||||
<span class="macro">assert</span><span class="macro">!</span>(<span class="ident">len</span> <span class="op">></span> <span class="ident">msg</span>.<span class="ident">len</span>());
|
||||
<span class="kw">let</span> <span class="ident">len</span> <span class="op">=</span> <span class="ident">privkey</span>.<span class="ident">private_decrypt</span>(<span class="kw-2">&</span><span class="ident">encrypted</span>, <span class="kw-2">&</span><span class="kw-2">mut</span> <span class="ident">decrypted</span>, <span class="ident">Padding</span>::<span class="ident">PKCS1</span>).<span class="ident">unwrap</span>();
|
||||
<span class="kw">let</span> <span class="ident">output_string</span> <span class="op">=</span> <span class="ident">String</span>::<span class="ident">from_utf8</span>(<span class="ident">decrypted</span>[..<span class="ident">len</span>].<span class="ident">to_vec</span>()).<span class="ident">unwrap</span>();
|
||||
<span class="macro">assert_eq</span><span class="macro">!</span>(<span class="string">"Foo bar"</span>, <span class="ident">output_string</span>);
|
||||
<span class="macro">println</span><span class="macro">!</span>(<span class="string">"Decrypted: '{}'"</span>, <span class="ident">output_string</span>);</pre></div>
|
||||
</div><h2 id="structs" class="section-header"><a href="#structs">Structs</a></h2>
|
||||
<table><tr class="module-item"><td><a class="struct" href="struct.Cipher.html" title="openssl::symm::Cipher struct">Cipher</a></td><td class="docblock-short"><p>Represents a particular cipher algorithm.</p>
|
||||
</td></tr><tr class="module-item"><td><a class="struct" href="struct.Crypter.html" title="openssl::symm::Crypter struct">Crypter</a></td><td class="docblock-short"><p>Represents a symmetric cipher context.</p>
|
||||
</td></tr></table><h2 id="enums" class="section-header"><a href="#enums">Enums</a></h2>
|
||||
<table><tr class="module-item"><td><a class="enum" href="enum.Mode.html" title="openssl::symm::Mode enum">Mode</a></td><td class="docblock-short"></td></tr></table><h2 id="functions" class="section-header"><a href="#functions">Functions</a></h2>
|
||||
<table><tr class="module-item"><td><a class="fn" href="fn.decrypt.html" title="openssl::symm::decrypt fn">decrypt</a></td><td class="docblock-short"><p>Decrypts data in one go, and returns the decrypted data.</p>
|
||||
</td></tr><tr class="module-item"><td><a class="fn" href="fn.decrypt_aead.html" title="openssl::symm::decrypt_aead fn">decrypt_aead</a></td><td class="docblock-short"><p>Like <code>decrypt</code>, but for AEAD ciphers such as AES GCM.</p>
|
||||
</td></tr><tr class="module-item"><td><a class="fn" href="fn.encrypt.html" title="openssl::symm::encrypt fn">encrypt</a></td><td class="docblock-short"><p>Encrypts data in one go, and returns the encrypted data.</p>
|
||||
</td></tr><tr class="module-item"><td><a class="fn" href="fn.encrypt_aead.html" title="openssl::symm::encrypt_aead fn">encrypt_aead</a></td><td class="docblock-short"><p>Like <code>encrypt</code>, but for AEAD ciphers such as AES GCM.</p>
|
||||
</td></tr></table></section><section id="search" class="content hidden"></section><section class="footer"></section><div id="rustdoc-vars" data-root-path="../../" data-current-crate="openssl"></div>
|
||||
<script src="../../main.js"></script><script defer src="../../search-index.js"></script></body></html>
|
||||
@@ -0,0 +1 @@
|
||||
initSidebarItems({"enum":[["Mode",""]],"fn":[["decrypt","Decrypts data in one go, and returns the decrypted data."],["decrypt_aead","Like `decrypt`, but for AEAD ciphers such as AES GCM."],["encrypt","Encrypts data in one go, and returns the encrypted data."],["encrypt_aead","Like `encrypt`, but for AEAD ciphers such as AES GCM."]],"struct":[["Cipher","Represents a particular cipher algorithm."],["Crypter","Represents a symmetric cipher context."]]});
|
||||
@@ -0,0 +1,41 @@
|
||||
<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="Represents a particular cipher algorithm."><meta name="keywords" content="rust, rustlang, rust-lang, Cipher"><title>openssl::symm::Cipher - Rust</title><link rel="stylesheet" type="text/css" href="../../normalize.css"><link rel="stylesheet" type="text/css" href="../../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../../ayu.css" disabled ><script id="default-settings"></script><script src="../../storage.js"></script><noscript><link rel="stylesheet" href="../../noscript.css"></noscript><link rel="icon" type="image/svg+xml" href="../../favicon.svg">
|
||||
<link rel="alternate icon" type="image/png" href="../../favicon-16x16.png">
|
||||
<link rel="alternate icon" type="image/png" href="../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../down-arrow.svg");}</style></head><body class="rustdoc struct"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu">☰</div><a href='../../openssl/index.html'><div class='logo-container rust-logo'><img src='../../rust-logo.png' alt='logo'></div></a><p class="location">Struct Cipher</p><div class="sidebar-elems"><div class="block items"><a class="sidebar-title" href="#implementations">Methods</a><div class="sidebar-links"><a href="#method.aes_128_cbc">aes_128_cbc</a><a href="#method.aes_128_ccm">aes_128_ccm</a><a href="#method.aes_128_cfb1">aes_128_cfb1</a><a href="#method.aes_128_cfb128">aes_128_cfb128</a><a href="#method.aes_128_cfb8">aes_128_cfb8</a><a href="#method.aes_128_ctr">aes_128_ctr</a><a href="#method.aes_128_ecb">aes_128_ecb</a><a href="#method.aes_128_gcm">aes_128_gcm</a><a href="#method.aes_128_ocb">aes_128_ocb</a><a href="#method.aes_128_ofb">aes_128_ofb</a><a href="#method.aes_128_xts">aes_128_xts</a><a href="#method.aes_192_cbc">aes_192_cbc</a><a href="#method.aes_192_ccm">aes_192_ccm</a><a href="#method.aes_192_cfb1">aes_192_cfb1</a><a href="#method.aes_192_cfb128">aes_192_cfb128</a><a href="#method.aes_192_cfb8">aes_192_cfb8</a><a href="#method.aes_192_ctr">aes_192_ctr</a><a href="#method.aes_192_ecb">aes_192_ecb</a><a href="#method.aes_192_gcm">aes_192_gcm</a><a href="#method.aes_192_ocb">aes_192_ocb</a><a href="#method.aes_192_ofb">aes_192_ofb</a><a href="#method.aes_256_cbc">aes_256_cbc</a><a href="#method.aes_256_ccm">aes_256_ccm</a><a href="#method.aes_256_cfb1">aes_256_cfb1</a><a href="#method.aes_256_cfb128">aes_256_cfb128</a><a href="#method.aes_256_cfb8">aes_256_cfb8</a><a href="#method.aes_256_ctr">aes_256_ctr</a><a href="#method.aes_256_ecb">aes_256_ecb</a><a href="#method.aes_256_gcm">aes_256_gcm</a><a href="#method.aes_256_ocb">aes_256_ocb</a><a href="#method.aes_256_ofb">aes_256_ofb</a><a href="#method.aes_256_xts">aes_256_xts</a><a href="#method.as_ptr">as_ptr</a><a href="#method.bf_cbc">bf_cbc</a><a href="#method.bf_cfb64">bf_cfb64</a><a href="#method.bf_ecb">bf_ecb</a><a href="#method.bf_ofb">bf_ofb</a><a href="#method.block_size">block_size</a><a href="#method.chacha20">chacha20</a><a href="#method.chacha20_poly1305">chacha20_poly1305</a><a href="#method.des_cbc">des_cbc</a><a href="#method.des_ecb">des_ecb</a><a href="#method.des_ede3">des_ede3</a><a href="#method.des_ede3_cbc">des_ede3_cbc</a><a href="#method.des_ede3_cfb64">des_ede3_cfb64</a><a href="#method.from_nid">from_nid</a><a href="#method.from_ptr">from_ptr</a><a href="#method.iv_len">iv_len</a><a href="#method.key_len">key_len</a><a href="#method.rc4">rc4</a></div><a class="sidebar-title" href="#trait-implementations">Trait Implementations</a><div class="sidebar-links"><a href="#impl-Clone">Clone</a><a href="#impl-Copy">Copy</a><a href="#impl-Eq">Eq</a><a href="#impl-PartialEq%3CCipher%3E">PartialEq<Cipher></a><a href="#impl-Send">Send</a><a href="#impl-StructuralEq">StructuralEq</a><a href="#impl-StructuralPartialEq">StructuralPartialEq</a><a href="#impl-Sync">Sync</a></div><a class="sidebar-title" href="#synthetic-implementations">Auto Trait Implementations</a><div class="sidebar-links"><a href="#impl-RefUnwindSafe">RefUnwindSafe</a><a href="#impl-Unpin">Unpin</a><a href="#impl-UnwindSafe">UnwindSafe</a></div><a class="sidebar-title" href="#blanket-implementations">Blanket Implementations</a><div class="sidebar-links"><a href="#impl-Any">Any</a><a href="#impl-Borrow%3CT%3E">Borrow<T></a><a href="#impl-BorrowMut%3CT%3E">BorrowMut<T></a><a href="#impl-From%3CT%3E">From<T></a><a href="#impl-Into%3CU%3E">Into<U></a><a href="#impl-ToOwned">ToOwned</a><a href="#impl-TryFrom%3CU%3E">TryFrom<U></a><a href="#impl-TryInto%3CU%3E">TryInto<U></a></div></div><p class="location"><a href="../index.html">openssl</a>::<wbr><a href="index.html">symm</a></p><div id="sidebar-vars" data-name="Cipher" data-ty="struct" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../brush.svg" width="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><script src="../../theme.js"></script><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
|
||||
<a id="settings-menu" href="../../settings.html"><img src="../../wheel.svg" width="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Struct <a href="../index.html">openssl</a>::<wbr><a href="index.html">symm</a>::<wbr><a class="struct" href="">Cipher</a></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span><a class="srclink" href="../../src/openssl/symm.rs.html#76" title="goto source code">[src]</a></span></h1><div class="docblock type-decl hidden-by-usual-hider"><pre class="rust struct">pub struct Cipher(_);</pre></div><div class="docblock"><p>Represents a particular cipher algorithm.</p>
|
||||
<p>See OpenSSL doc at <a href="https://www.openssl.org/docs/man1.1.0/crypto/EVP_EncryptInit.html"><code>EVP_EncryptInit</code></a> for more information on each algorithms.</p>
|
||||
</div><h2 id="implementations" class="small-section-header">Implementations<a href="#implementations" class="anchor"></a></h2><h3 id="impl" class="impl"><code class="in-band">impl <a class="struct" href="../../openssl/symm/struct.Cipher.html" title="struct openssl::symm::Cipher">Cipher</a></code><a href="#impl" class="anchor"></a><a class="srclink" href="../../src/openssl/symm.rs.html#78-345" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.from_nid" class="method"><code>pub fn <a href="#method.from_nid" class="fnname">from_nid</a>(nid: <a class="struct" href="../../openssl/nid/struct.Nid.html" title="struct openssl::nid::Nid">Nid</a>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="struct" href="../../openssl/symm/struct.Cipher.html" title="struct openssl::symm::Cipher">Cipher</a>></code><a class="srclink" href="../../src/openssl/symm.rs.html#84-91" title="goto source code">[src]</a></h4><div class="docblock"><p>Looks up the cipher for a certain nid.</p>
|
||||
<p>This corresponds to <a href="https://www.openssl.org/docs/man1.0.2/crypto/EVP_get_cipherbyname.html"><code>EVP_get_cipherbynid</code></a></p>
|
||||
</div><h4 id="method.aes_128_ecb" class="method"><code>pub fn <a href="#method.aes_128_ecb" class="fnname">aes_128_ecb</a>() -> <a class="struct" href="../../openssl/symm/struct.Cipher.html" title="struct openssl::symm::Cipher">Cipher</a></code><a class="srclink" href="../../src/openssl/symm.rs.html#93-95" title="goto source code">[src]</a></h4><h4 id="method.aes_128_cbc" class="method"><code>pub fn <a href="#method.aes_128_cbc" class="fnname">aes_128_cbc</a>() -> <a class="struct" href="../../openssl/symm/struct.Cipher.html" title="struct openssl::symm::Cipher">Cipher</a></code><a class="srclink" href="../../src/openssl/symm.rs.html#97-99" title="goto source code">[src]</a></h4><h4 id="method.aes_128_xts" class="method"><code>pub fn <a href="#method.aes_128_xts" class="fnname">aes_128_xts</a>() -> <a class="struct" href="../../openssl/symm/struct.Cipher.html" title="struct openssl::symm::Cipher">Cipher</a></code><a class="srclink" href="../../src/openssl/symm.rs.html#101-103" title="goto source code">[src]</a></h4><h4 id="method.aes_128_ctr" class="method"><code>pub fn <a href="#method.aes_128_ctr" class="fnname">aes_128_ctr</a>() -> <a class="struct" href="../../openssl/symm/struct.Cipher.html" title="struct openssl::symm::Cipher">Cipher</a></code><a class="srclink" href="../../src/openssl/symm.rs.html#105-107" title="goto source code">[src]</a></h4><h4 id="method.aes_128_cfb1" class="method"><code>pub fn <a href="#method.aes_128_cfb1" class="fnname">aes_128_cfb1</a>() -> <a class="struct" href="../../openssl/symm/struct.Cipher.html" title="struct openssl::symm::Cipher">Cipher</a></code><a class="srclink" href="../../src/openssl/symm.rs.html#109-111" title="goto source code">[src]</a></h4><h4 id="method.aes_128_cfb128" class="method"><code>pub fn <a href="#method.aes_128_cfb128" class="fnname">aes_128_cfb128</a>() -> <a class="struct" href="../../openssl/symm/struct.Cipher.html" title="struct openssl::symm::Cipher">Cipher</a></code><a class="srclink" href="../../src/openssl/symm.rs.html#113-115" title="goto source code">[src]</a></h4><h4 id="method.aes_128_cfb8" class="method"><code>pub fn <a href="#method.aes_128_cfb8" class="fnname">aes_128_cfb8</a>() -> <a class="struct" href="../../openssl/symm/struct.Cipher.html" title="struct openssl::symm::Cipher">Cipher</a></code><a class="srclink" href="../../src/openssl/symm.rs.html#117-119" title="goto source code">[src]</a></h4><h4 id="method.aes_128_gcm" class="method"><code>pub fn <a href="#method.aes_128_gcm" class="fnname">aes_128_gcm</a>() -> <a class="struct" href="../../openssl/symm/struct.Cipher.html" title="struct openssl::symm::Cipher">Cipher</a></code><a class="srclink" href="../../src/openssl/symm.rs.html#121-123" title="goto source code">[src]</a></h4><h4 id="method.aes_128_ccm" class="method"><code>pub fn <a href="#method.aes_128_ccm" class="fnname">aes_128_ccm</a>() -> <a class="struct" href="../../openssl/symm/struct.Cipher.html" title="struct openssl::symm::Cipher">Cipher</a></code><a class="srclink" href="../../src/openssl/symm.rs.html#125-127" title="goto source code">[src]</a></h4><h4 id="method.aes_128_ofb" class="method"><code>pub fn <a href="#method.aes_128_ofb" class="fnname">aes_128_ofb</a>() -> <a class="struct" href="../../openssl/symm/struct.Cipher.html" title="struct openssl::symm::Cipher">Cipher</a></code><a class="srclink" href="../../src/openssl/symm.rs.html#129-131" title="goto source code">[src]</a></h4><h4 id="method.aes_128_ocb" class="method"><code>pub fn <a href="#method.aes_128_ocb" class="fnname">aes_128_ocb</a>() -> <a class="struct" href="../../openssl/symm/struct.Cipher.html" title="struct openssl::symm::Cipher">Cipher</a></code><a class="srclink" href="../../src/openssl/symm.rs.html#135-137" title="goto source code">[src]</a></h4><div class="docblock"><p>Requires OpenSSL 1.1.0 or newer.</p>
|
||||
</div><h4 id="method.aes_192_ecb" class="method"><code>pub fn <a href="#method.aes_192_ecb" class="fnname">aes_192_ecb</a>() -> <a class="struct" href="../../openssl/symm/struct.Cipher.html" title="struct openssl::symm::Cipher">Cipher</a></code><a class="srclink" href="../../src/openssl/symm.rs.html#139-141" title="goto source code">[src]</a></h4><h4 id="method.aes_192_cbc" class="method"><code>pub fn <a href="#method.aes_192_cbc" class="fnname">aes_192_cbc</a>() -> <a class="struct" href="../../openssl/symm/struct.Cipher.html" title="struct openssl::symm::Cipher">Cipher</a></code><a class="srclink" href="../../src/openssl/symm.rs.html#143-145" title="goto source code">[src]</a></h4><h4 id="method.aes_192_ctr" class="method"><code>pub fn <a href="#method.aes_192_ctr" class="fnname">aes_192_ctr</a>() -> <a class="struct" href="../../openssl/symm/struct.Cipher.html" title="struct openssl::symm::Cipher">Cipher</a></code><a class="srclink" href="../../src/openssl/symm.rs.html#147-149" title="goto source code">[src]</a></h4><h4 id="method.aes_192_cfb1" class="method"><code>pub fn <a href="#method.aes_192_cfb1" class="fnname">aes_192_cfb1</a>() -> <a class="struct" href="../../openssl/symm/struct.Cipher.html" title="struct openssl::symm::Cipher">Cipher</a></code><a class="srclink" href="../../src/openssl/symm.rs.html#151-153" title="goto source code">[src]</a></h4><h4 id="method.aes_192_cfb128" class="method"><code>pub fn <a href="#method.aes_192_cfb128" class="fnname">aes_192_cfb128</a>() -> <a class="struct" href="../../openssl/symm/struct.Cipher.html" title="struct openssl::symm::Cipher">Cipher</a></code><a class="srclink" href="../../src/openssl/symm.rs.html#155-157" title="goto source code">[src]</a></h4><h4 id="method.aes_192_cfb8" class="method"><code>pub fn <a href="#method.aes_192_cfb8" class="fnname">aes_192_cfb8</a>() -> <a class="struct" href="../../openssl/symm/struct.Cipher.html" title="struct openssl::symm::Cipher">Cipher</a></code><a class="srclink" href="../../src/openssl/symm.rs.html#159-161" title="goto source code">[src]</a></h4><h4 id="method.aes_192_gcm" class="method"><code>pub fn <a href="#method.aes_192_gcm" class="fnname">aes_192_gcm</a>() -> <a class="struct" href="../../openssl/symm/struct.Cipher.html" title="struct openssl::symm::Cipher">Cipher</a></code><a class="srclink" href="../../src/openssl/symm.rs.html#163-165" title="goto source code">[src]</a></h4><h4 id="method.aes_192_ccm" class="method"><code>pub fn <a href="#method.aes_192_ccm" class="fnname">aes_192_ccm</a>() -> <a class="struct" href="../../openssl/symm/struct.Cipher.html" title="struct openssl::symm::Cipher">Cipher</a></code><a class="srclink" href="../../src/openssl/symm.rs.html#167-169" title="goto source code">[src]</a></h4><h4 id="method.aes_192_ofb" class="method"><code>pub fn <a href="#method.aes_192_ofb" class="fnname">aes_192_ofb</a>() -> <a class="struct" href="../../openssl/symm/struct.Cipher.html" title="struct openssl::symm::Cipher">Cipher</a></code><a class="srclink" href="../../src/openssl/symm.rs.html#171-173" title="goto source code">[src]</a></h4><h4 id="method.aes_192_ocb" class="method"><code>pub fn <a href="#method.aes_192_ocb" class="fnname">aes_192_ocb</a>() -> <a class="struct" href="../../openssl/symm/struct.Cipher.html" title="struct openssl::symm::Cipher">Cipher</a></code><a class="srclink" href="../../src/openssl/symm.rs.html#177-179" title="goto source code">[src]</a></h4><div class="docblock"><p>Requires OpenSSL 1.1.0 or newer.</p>
|
||||
</div><h4 id="method.aes_256_ecb" class="method"><code>pub fn <a href="#method.aes_256_ecb" class="fnname">aes_256_ecb</a>() -> <a class="struct" href="../../openssl/symm/struct.Cipher.html" title="struct openssl::symm::Cipher">Cipher</a></code><a class="srclink" href="../../src/openssl/symm.rs.html#181-183" title="goto source code">[src]</a></h4><h4 id="method.aes_256_cbc" class="method"><code>pub fn <a href="#method.aes_256_cbc" class="fnname">aes_256_cbc</a>() -> <a class="struct" href="../../openssl/symm/struct.Cipher.html" title="struct openssl::symm::Cipher">Cipher</a></code><a class="srclink" href="../../src/openssl/symm.rs.html#185-187" title="goto source code">[src]</a></h4><h4 id="method.aes_256_xts" class="method"><code>pub fn <a href="#method.aes_256_xts" class="fnname">aes_256_xts</a>() -> <a class="struct" href="../../openssl/symm/struct.Cipher.html" title="struct openssl::symm::Cipher">Cipher</a></code><a class="srclink" href="../../src/openssl/symm.rs.html#189-191" title="goto source code">[src]</a></h4><h4 id="method.aes_256_ctr" class="method"><code>pub fn <a href="#method.aes_256_ctr" class="fnname">aes_256_ctr</a>() -> <a class="struct" href="../../openssl/symm/struct.Cipher.html" title="struct openssl::symm::Cipher">Cipher</a></code><a class="srclink" href="../../src/openssl/symm.rs.html#193-195" title="goto source code">[src]</a></h4><h4 id="method.aes_256_cfb1" class="method"><code>pub fn <a href="#method.aes_256_cfb1" class="fnname">aes_256_cfb1</a>() -> <a class="struct" href="../../openssl/symm/struct.Cipher.html" title="struct openssl::symm::Cipher">Cipher</a></code><a class="srclink" href="../../src/openssl/symm.rs.html#197-199" title="goto source code">[src]</a></h4><h4 id="method.aes_256_cfb128" class="method"><code>pub fn <a href="#method.aes_256_cfb128" class="fnname">aes_256_cfb128</a>() -> <a class="struct" href="../../openssl/symm/struct.Cipher.html" title="struct openssl::symm::Cipher">Cipher</a></code><a class="srclink" href="../../src/openssl/symm.rs.html#201-203" title="goto source code">[src]</a></h4><h4 id="method.aes_256_cfb8" class="method"><code>pub fn <a href="#method.aes_256_cfb8" class="fnname">aes_256_cfb8</a>() -> <a class="struct" href="../../openssl/symm/struct.Cipher.html" title="struct openssl::symm::Cipher">Cipher</a></code><a class="srclink" href="../../src/openssl/symm.rs.html#205-207" title="goto source code">[src]</a></h4><h4 id="method.aes_256_gcm" class="method"><code>pub fn <a href="#method.aes_256_gcm" class="fnname">aes_256_gcm</a>() -> <a class="struct" href="../../openssl/symm/struct.Cipher.html" title="struct openssl::symm::Cipher">Cipher</a></code><a class="srclink" href="../../src/openssl/symm.rs.html#209-211" title="goto source code">[src]</a></h4><h4 id="method.aes_256_ccm" class="method"><code>pub fn <a href="#method.aes_256_ccm" class="fnname">aes_256_ccm</a>() -> <a class="struct" href="../../openssl/symm/struct.Cipher.html" title="struct openssl::symm::Cipher">Cipher</a></code><a class="srclink" href="../../src/openssl/symm.rs.html#213-215" title="goto source code">[src]</a></h4><h4 id="method.aes_256_ofb" class="method"><code>pub fn <a href="#method.aes_256_ofb" class="fnname">aes_256_ofb</a>() -> <a class="struct" href="../../openssl/symm/struct.Cipher.html" title="struct openssl::symm::Cipher">Cipher</a></code><a class="srclink" href="../../src/openssl/symm.rs.html#217-219" title="goto source code">[src]</a></h4><h4 id="method.aes_256_ocb" class="method"><code>pub fn <a href="#method.aes_256_ocb" class="fnname">aes_256_ocb</a>() -> <a class="struct" href="../../openssl/symm/struct.Cipher.html" title="struct openssl::symm::Cipher">Cipher</a></code><a class="srclink" href="../../src/openssl/symm.rs.html#223-225" title="goto source code">[src]</a></h4><div class="docblock"><p>Requires OpenSSL 1.1.0 or newer.</p>
|
||||
</div><h4 id="method.bf_cbc" class="method"><code>pub fn <a href="#method.bf_cbc" class="fnname">bf_cbc</a>() -> <a class="struct" href="../../openssl/symm/struct.Cipher.html" title="struct openssl::symm::Cipher">Cipher</a></code><a class="srclink" href="../../src/openssl/symm.rs.html#228-230" title="goto source code">[src]</a></h4><h4 id="method.bf_ecb" class="method"><code>pub fn <a href="#method.bf_ecb" class="fnname">bf_ecb</a>() -> <a class="struct" href="../../openssl/symm/struct.Cipher.html" title="struct openssl::symm::Cipher">Cipher</a></code><a class="srclink" href="../../src/openssl/symm.rs.html#233-235" title="goto source code">[src]</a></h4><h4 id="method.bf_cfb64" class="method"><code>pub fn <a href="#method.bf_cfb64" class="fnname">bf_cfb64</a>() -> <a class="struct" href="../../openssl/symm/struct.Cipher.html" title="struct openssl::symm::Cipher">Cipher</a></code><a class="srclink" href="../../src/openssl/symm.rs.html#238-240" title="goto source code">[src]</a></h4><h4 id="method.bf_ofb" class="method"><code>pub fn <a href="#method.bf_ofb" class="fnname">bf_ofb</a>() -> <a class="struct" href="../../openssl/symm/struct.Cipher.html" title="struct openssl::symm::Cipher">Cipher</a></code><a class="srclink" href="../../src/openssl/symm.rs.html#243-245" title="goto source code">[src]</a></h4><h4 id="method.des_cbc" class="method"><code>pub fn <a href="#method.des_cbc" class="fnname">des_cbc</a>() -> <a class="struct" href="../../openssl/symm/struct.Cipher.html" title="struct openssl::symm::Cipher">Cipher</a></code><a class="srclink" href="../../src/openssl/symm.rs.html#247-249" title="goto source code">[src]</a></h4><h4 id="method.des_ecb" class="method"><code>pub fn <a href="#method.des_ecb" class="fnname">des_ecb</a>() -> <a class="struct" href="../../openssl/symm/struct.Cipher.html" title="struct openssl::symm::Cipher">Cipher</a></code><a class="srclink" href="../../src/openssl/symm.rs.html#251-253" title="goto source code">[src]</a></h4><h4 id="method.des_ede3" class="method"><code>pub fn <a href="#method.des_ede3" class="fnname">des_ede3</a>() -> <a class="struct" href="../../openssl/symm/struct.Cipher.html" title="struct openssl::symm::Cipher">Cipher</a></code><a class="srclink" href="../../src/openssl/symm.rs.html#255-257" title="goto source code">[src]</a></h4><h4 id="method.des_ede3_cbc" class="method"><code>pub fn <a href="#method.des_ede3_cbc" class="fnname">des_ede3_cbc</a>() -> <a class="struct" href="../../openssl/symm/struct.Cipher.html" title="struct openssl::symm::Cipher">Cipher</a></code><a class="srclink" href="../../src/openssl/symm.rs.html#259-261" title="goto source code">[src]</a></h4><h4 id="method.des_ede3_cfb64" class="method"><code>pub fn <a href="#method.des_ede3_cfb64" class="fnname">des_ede3_cfb64</a>() -> <a class="struct" href="../../openssl/symm/struct.Cipher.html" title="struct openssl::symm::Cipher">Cipher</a></code><a class="srclink" href="../../src/openssl/symm.rs.html#263-265" title="goto source code">[src]</a></h4><h4 id="method.rc4" class="method"><code>pub fn <a href="#method.rc4" class="fnname">rc4</a>() -> <a class="struct" href="../../openssl/symm/struct.Cipher.html" title="struct openssl::symm::Cipher">Cipher</a></code><a class="srclink" href="../../src/openssl/symm.rs.html#267-269" title="goto source code">[src]</a></h4><h4 id="method.chacha20" class="method"><code>pub fn <a href="#method.chacha20" class="fnname">chacha20</a>() -> <a class="struct" href="../../openssl/symm/struct.Cipher.html" title="struct openssl::symm::Cipher">Cipher</a></code><a class="srclink" href="../../src/openssl/symm.rs.html#273-275" title="goto source code">[src]</a></h4><div class="docblock"><p>Requires OpenSSL 1.1.0 or newer.</p>
|
||||
</div><h4 id="method.chacha20_poly1305" class="method"><code>pub fn <a href="#method.chacha20_poly1305" class="fnname">chacha20_poly1305</a>() -> <a class="struct" href="../../openssl/symm/struct.Cipher.html" title="struct openssl::symm::Cipher">Cipher</a></code><a class="srclink" href="../../src/openssl/symm.rs.html#279-281" title="goto source code">[src]</a></h4><div class="docblock"><p>Requires OpenSSL 1.1.0 or newer.</p>
|
||||
</div><h4 id="method.from_ptr" class="method"><code>pub unsafe fn <a href="#method.from_ptr" class="fnname">from_ptr</a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.pointer.html">*const </a><a class="enum" href="../../openssl_sys/ossl_typ/enum.EVP_CIPHER.html" title="enum openssl_sys::ossl_typ::EVP_CIPHER">EVP_CIPHER</a>) -> <a class="struct" href="../../openssl/symm/struct.Cipher.html" title="struct openssl::symm::Cipher">Cipher</a></code><a class="srclink" href="../../src/openssl/symm.rs.html#288-290" title="goto source code">[src]</a></h4><div class="docblock"><p>Creates a <code>Cipher</code> from a raw pointer to its OpenSSL type.</p>
|
||||
<h1 id="safety" class="section-header"><a href="#safety">Safety</a></h1>
|
||||
<p>The caller must ensure the pointer is valid for the <code>'static</code> lifetime.</p>
|
||||
</div><h4 id="method.as_ptr" class="method"><code>pub fn <a href="#method.as_ptr" class="fnname">as_ptr</a>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.pointer.html">*const </a><a class="enum" href="../../openssl_sys/ossl_typ/enum.EVP_CIPHER.html" title="enum openssl_sys::ossl_typ::EVP_CIPHER">EVP_CIPHER</a></code><a class="srclink" href="../../src/openssl/symm.rs.html#293-295" title="goto source code">[src]</a></h4><h4 id="method.key_len" class="method"><code>pub fn <a href="#method.key_len" class="fnname">key_len</a>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code><a class="srclink" href="../../src/openssl/symm.rs.html#299-301" title="goto source code">[src]</a></h4><div class="docblock"><p>Returns the length of keys used with this cipher.</p>
|
||||
</div><h4 id="method.iv_len" class="method"><code>pub fn <a href="#method.iv_len" class="fnname">iv_len</a>(&self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>></code><a class="srclink" href="../../src/openssl/symm.rs.html#306-315" title="goto source code">[src]</a></h4><div class="docblock"><p>Returns the length of the IV used with this cipher, or <code>None</code> if the
|
||||
cipher does not use an IV.</p>
|
||||
</div><h4 id="method.block_size" class="method"><code>pub fn <a href="#method.block_size" class="fnname">block_size</a>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code><a class="srclink" href="../../src/openssl/symm.rs.html#323-325" title="goto source code">[src]</a></h4><div class="docblock"><p>Returns the block size of the cipher.</p>
|
||||
<h1 id="note" class="section-header"><a href="#note">Note</a></h1>
|
||||
<p>Stream ciphers such as RC4 have a block size of 1.</p>
|
||||
</div></div><h2 id="trait-implementations" class="small-section-header">Trait Implementations<a href="#trait-implementations" class="anchor"></a></h2><div id="trait-implementations-list"><h3 id="impl-Clone" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a> for <a class="struct" href="../../openssl/symm/struct.Cipher.html" title="struct openssl::symm::Cipher">Cipher</a></code><a href="#impl-Clone" class="anchor"></a><a class="srclink" href="../../src/openssl/symm.rs.html#75" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.clone" class="method hidden"><code>fn <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#tymethod.clone" class="fnname">clone</a>(&self) -> <a class="struct" href="../../openssl/symm/struct.Cipher.html" title="struct openssl::symm::Cipher">Cipher</a></code><a class="srclink" href="../../src/openssl/symm.rs.html#75" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Returns a copy of the value. <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#tymethod.clone">Read more</a></p>
|
||||
</div><h4 id="method.clone_from" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#method.clone_from" class="fnname">clone_from</a>(&mut self, source: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>Self)</code><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/clone.rs.html#128" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs copy-assignment from <code>source</code>. <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#method.clone_from">Read more</a></p>
|
||||
</div></div><h3 id="impl-Copy" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Copy.html" title="trait core::marker::Copy">Copy</a> for <a class="struct" href="../../openssl/symm/struct.Cipher.html" title="struct openssl::symm::Cipher">Cipher</a></code><a href="#impl-Copy" class="anchor"></a><a class="srclink" href="../../src/openssl/symm.rs.html#75" title="goto source code">[src]</a></h3><div class="impl-items"></div><h3 id="impl-Eq" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.Eq.html" title="trait core::cmp::Eq">Eq</a> for <a class="struct" href="../../openssl/symm/struct.Cipher.html" title="struct openssl::symm::Cipher">Cipher</a></code><a href="#impl-Eq" class="anchor"></a><a class="srclink" href="../../src/openssl/symm.rs.html#75" title="goto source code">[src]</a></h3><div class="impl-items"></div><h3 id="impl-PartialEq%3CCipher%3E" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html" title="trait core::cmp::PartialEq">PartialEq</a><<a class="struct" href="../../openssl/symm/struct.Cipher.html" title="struct openssl::symm::Cipher">Cipher</a>> for <a class="struct" href="../../openssl/symm/struct.Cipher.html" title="struct openssl::symm::Cipher">Cipher</a></code><a href="#impl-PartialEq%3CCipher%3E" class="anchor"></a><a class="srclink" href="../../src/openssl/symm.rs.html#75" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.eq" class="method hidden"><code>fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#tymethod.eq" class="fnname">eq</a>(&self, other: &<a class="struct" href="../../openssl/symm/struct.Cipher.html" title="struct openssl::symm::Cipher">Cipher</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><a class="srclink" href="../../src/openssl/symm.rs.html#75" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>This method tests for <code>self</code> and <code>other</code> values to be equal, and is used
|
||||
by <code>==</code>. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#tymethod.eq">Read more</a></p>
|
||||
</div><h4 id="method.ne" class="method hidden"><code>fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#method.ne" class="fnname">ne</a>(&self, other: &<a class="struct" href="../../openssl/symm/struct.Cipher.html" title="struct openssl::symm::Cipher">Cipher</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><a class="srclink" href="../../src/openssl/symm.rs.html#75" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>This method tests for <code>!=</code>.</p>
|
||||
</div></div><h3 id="impl-Send" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> for <a class="struct" href="../../openssl/symm/struct.Cipher.html" title="struct openssl::symm::Cipher">Cipher</a></code><a href="#impl-Send" class="anchor"></a><a class="srclink" href="../../src/openssl/symm.rs.html#348" title="goto source code">[src]</a></h3><div class="impl-items"></div><h3 id="impl-StructuralEq" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.StructuralEq.html" title="trait core::marker::StructuralEq">StructuralEq</a> for <a class="struct" href="../../openssl/symm/struct.Cipher.html" title="struct openssl::symm::Cipher">Cipher</a></code><a href="#impl-StructuralEq" class="anchor"></a><a class="srclink" href="../../src/openssl/symm.rs.html#75" title="goto source code">[src]</a></h3><div class="impl-items"></div><h3 id="impl-StructuralPartialEq" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.StructuralPartialEq.html" title="trait core::marker::StructuralPartialEq">StructuralPartialEq</a> for <a class="struct" href="../../openssl/symm/struct.Cipher.html" title="struct openssl::symm::Cipher">Cipher</a></code><a href="#impl-StructuralPartialEq" class="anchor"></a><a class="srclink" href="../../src/openssl/symm.rs.html#75" title="goto source code">[src]</a></h3><div class="impl-items"></div><h3 id="impl-Sync" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> for <a class="struct" href="../../openssl/symm/struct.Cipher.html" title="struct openssl::symm::Cipher">Cipher</a></code><a href="#impl-Sync" class="anchor"></a><a class="srclink" href="../../src/openssl/symm.rs.html#347" title="goto source code">[src]</a></h3><div class="impl-items"></div></div><h2 id="synthetic-implementations" class="small-section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor"></a></h2><div id="synthetic-implementations-list"><h3 id="impl-RefUnwindSafe" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.RefUnwindSafe.html" title="trait std::panic::RefUnwindSafe">RefUnwindSafe</a> for <a class="struct" href="../../openssl/symm/struct.Cipher.html" title="struct openssl::symm::Cipher">Cipher</a></code><a href="#impl-RefUnwindSafe" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Unpin" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a> for <a class="struct" href="../../openssl/symm/struct.Cipher.html" title="struct openssl::symm::Cipher">Cipher</a></code><a href="#impl-Unpin" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-UnwindSafe" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.UnwindSafe.html" title="trait std::panic::UnwindSafe">UnwindSafe</a> for <a class="struct" href="../../openssl/symm/struct.Cipher.html" title="struct openssl::symm::Cipher">Cipher</a></code><a href="#impl-UnwindSafe" class="anchor"></a></h3><div class="impl-items"></div></div><h2 id="blanket-implementations" class="small-section-header">Blanket Implementations<a href="#blanket-implementations" class="anchor"></a></h2><div id="blanket-implementations-list"><h3 id="impl-Any" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html" title="trait core::any::Any">Any</a> for T <span class="where fmt-newline">where<br> T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Any" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#131-135" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.type_id" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id" class="fnname">type_id</a>(&self) -> <a class="struct" href="https://doc.rust-lang.org/nightly/core/any/struct.TypeId.html" title="struct core::any::TypeId">TypeId</a></code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#132" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Gets the <code>TypeId</code> of <code>self</code>. <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id">Read more</a></p>
|
||||
</div></div><h3 id="impl-Borrow%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a><T> for T <span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Borrow%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#207-211" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.borrow" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow" class="fnname">borrow</a>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>T</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#208" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Immutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow">Read more</a></p>
|
||||
</div></div><h3 id="impl-BorrowMut%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html" title="trait core::borrow::BorrowMut">BorrowMut</a><T> for T <span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-BorrowMut%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#214-218" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.borrow_mut" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut" class="fnname">borrow_mut</a>(&mut self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>T</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#215" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Mutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut">Read more</a></p>
|
||||
</div></div><h3 id="impl-From%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T> for T</code><a href="#impl-From%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#545-549" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.from" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(t: T) -> T</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#546" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
|
||||
</div></div><h3 id="impl-Into%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T>, </span></code><a href="#impl-Into%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#534-541" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.into" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html#tymethod.into" class="fnname">into</a>(self) -> U</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#538" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
|
||||
</div></div><h3 id="impl-ToOwned" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html" title="trait alloc::borrow::ToOwned">ToOwned</a> for T <span class="where fmt-newline">where<br> T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>, </span></code><a href="#impl-ToOwned" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#81-93" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Owned" class="type"><code>type <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#associatedtype.Owned" class="type">Owned</a> = T</code></h4><div class='docblock'><p>The resulting type after obtaining ownership.</p>
|
||||
</div><h4 id="method.to_owned" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#tymethod.to_owned" class="fnname">to_owned</a>(&self) -> T</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#86" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Creates owned data from borrowed data, usually by cloning. <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#tymethod.to_owned">Read more</a></p>
|
||||
</div><h4 id="method.clone_into" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#method.clone_into" class="fnname">clone_into</a>(&self, target: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>T)</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#90" title="goto source code">[src]</a></h4><div class="item-info hidden"><div class="stab unstable"><details><summary><span class="emoji">🔬</span> This is a nightly-only experimental API. (<code>toowned_clone_into</code>)</summary><p>recently added</p>
|
||||
</details></div></div><div class='docblock hidden'><p>Uses borrowed data to replace owned data, usually by cloning. <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#method.clone_into">Read more</a></p>
|
||||
</div></div><h3 id="impl-TryFrom%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><T>, </span></code><a href="#impl-TryFrom%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#582-591" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Error" class="type"><code>type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" class="type">Error</a> = <a class="enum" href="https://doc.rust-lang.org/nightly/core/convert/enum.Infallible.html" title="enum core::convert::Infallible">Infallible</a></code></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
|
||||
</div><h4 id="method.try_from" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#tymethod.try_from" class="fnname">try_from</a>(value: U) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><T, <T as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#588" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
|
||||
</div></div><h3 id="impl-TryInto%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html" title="trait core::convert::TryInto">TryInto</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>, </span></code><a href="#impl-TryInto%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#568-577" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Error-1" class="type"><code>type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#associatedtype.Error" class="type">Error</a> = <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a></code></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
|
||||
</div><h4 id="method.try_into" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#tymethod.try_into" class="fnname">try_into</a>(self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><U, <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#574" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
|
||||
</div></div></div></section><section id="search" class="content hidden"></section><section class="footer"></section><div id="rustdoc-vars" data-root-path="../../" data-current-crate="openssl"></div>
|
||||
<script src="../../main.js"></script><script defer src="../../search-index.js"></script></body></html>
|
||||
@@ -0,0 +1,113 @@
|
||||
<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="Represents a symmetric cipher context."><meta name="keywords" content="rust, rustlang, rust-lang, Crypter"><title>openssl::symm::Crypter - Rust</title><link rel="stylesheet" type="text/css" href="../../normalize.css"><link rel="stylesheet" type="text/css" href="../../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../../ayu.css" disabled ><script id="default-settings"></script><script src="../../storage.js"></script><noscript><link rel="stylesheet" href="../../noscript.css"></noscript><link rel="icon" type="image/svg+xml" href="../../favicon.svg">
|
||||
<link rel="alternate icon" type="image/png" href="../../favicon-16x16.png">
|
||||
<link rel="alternate icon" type="image/png" href="../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../down-arrow.svg");}</style></head><body class="rustdoc struct"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu">☰</div><a href='../../openssl/index.html'><div class='logo-container rust-logo'><img src='../../rust-logo.png' alt='logo'></div></a><p class="location">Struct Crypter</p><div class="sidebar-elems"><div class="block items"><a class="sidebar-title" href="#implementations">Methods</a><div class="sidebar-links"><a href="#method.aad_update">aad_update</a><a href="#method.finalize">finalize</a><a href="#method.get_tag">get_tag</a><a href="#method.new">new</a><a href="#method.pad">pad</a><a href="#method.set_data_len">set_data_len</a><a href="#method.set_tag">set_tag</a><a href="#method.set_tag_len">set_tag_len</a><a href="#method.update">update</a></div><a class="sidebar-title" href="#trait-implementations">Trait Implementations</a><div class="sidebar-links"><a href="#impl-Drop">Drop</a><a href="#impl-Send">Send</a><a href="#impl-Sync">Sync</a></div><a class="sidebar-title" href="#synthetic-implementations">Auto Trait Implementations</a><div class="sidebar-links"><a href="#impl-RefUnwindSafe">RefUnwindSafe</a><a href="#impl-Unpin">Unpin</a><a href="#impl-UnwindSafe">UnwindSafe</a></div><a class="sidebar-title" href="#blanket-implementations">Blanket Implementations</a><div class="sidebar-links"><a href="#impl-Any">Any</a><a href="#impl-Borrow%3CT%3E">Borrow<T></a><a href="#impl-BorrowMut%3CT%3E">BorrowMut<T></a><a href="#impl-From%3CT%3E">From<T></a><a href="#impl-Into%3CU%3E">Into<U></a><a href="#impl-TryFrom%3CU%3E">TryFrom<U></a><a href="#impl-TryInto%3CU%3E">TryInto<U></a></div></div><p class="location"><a href="../index.html">openssl</a>::<wbr><a href="index.html">symm</a></p><div id="sidebar-vars" data-name="Crypter" data-ty="struct" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../brush.svg" width="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><script src="../../theme.js"></script><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
|
||||
<a id="settings-menu" href="../../settings.html"><img src="../../wheel.svg" width="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Struct <a href="../index.html">openssl</a>::<wbr><a href="index.html">symm</a>::<wbr><a class="struct" href="">Crypter</a></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span><a class="srclink" href="../../src/openssl/symm.rs.html#410-413" title="goto source code">[src]</a></span></h1><div class="docblock type-decl hidden-by-usual-hider"><pre class="rust struct">pub struct Crypter { /* fields omitted */ }</pre></div><div class="docblock"><p>Represents a symmetric cipher context.</p>
|
||||
<p>Padding is enabled by default.</p>
|
||||
<h1 id="examples" class="section-header"><a href="#examples">Examples</a></h1>
|
||||
<p>Encrypt some plaintext in chunks, then decrypt the ciphertext back into plaintext, in AES 128
|
||||
CBC mode.</p>
|
||||
|
||||
<div class="example-wrap"><pre class="rust rust-example-rendered">
|
||||
<span class="kw">use</span> <span class="ident">openssl</span>::<span class="ident">symm</span>::{<span class="ident">Cipher</span>, <span class="ident">Mode</span>, <span class="ident">Crypter</span>};
|
||||
|
||||
<span class="kw">let</span> <span class="ident">plaintexts</span>: [<span class="kw-2">&</span>[<span class="ident">u8</span>]; <span class="number">2</span>] <span class="op">=</span> [<span class="string">b"Some Stream of"</span>, <span class="string">b" Crypto Text"</span>];
|
||||
<span class="kw">let</span> <span class="ident">key</span> <span class="op">=</span> <span class="string">b"\x00\x01\x02\x03\x04\x05\x06\x07\x08\x09\x0A\x0B\x0C\x0D\x0E\x0F"</span>;
|
||||
<span class="kw">let</span> <span class="ident">iv</span> <span class="op">=</span> <span class="string">b"\x00\x01\x02\x03\x04\x05\x06\x07\x00\x01\x02\x03\x04\x05\x06\x07"</span>;
|
||||
<span class="kw">let</span> <span class="ident">data_len</span> <span class="op">=</span> <span class="ident">plaintexts</span>.<span class="ident">iter</span>().<span class="ident">fold</span>(<span class="number">0</span>, <span class="op">|</span><span class="ident">sum</span>, <span class="ident">x</span><span class="op">|</span> <span class="ident">sum</span> <span class="op">+</span> <span class="ident">x</span>.<span class="ident">len</span>());
|
||||
|
||||
<span class="comment">// Create a cipher context for encryption.</span>
|
||||
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">encrypter</span> <span class="op">=</span> <span class="ident">Crypter</span>::<span class="ident">new</span>(
|
||||
<span class="ident">Cipher</span>::<span class="ident">aes_128_cbc</span>(),
|
||||
<span class="ident">Mode</span>::<span class="ident">Encrypt</span>,
|
||||
<span class="ident">key</span>,
|
||||
<span class="prelude-val">Some</span>(<span class="ident">iv</span>)).<span class="ident">unwrap</span>();
|
||||
|
||||
<span class="kw">let</span> <span class="ident">block_size</span> <span class="op">=</span> <span class="ident">Cipher</span>::<span class="ident">aes_128_cbc</span>().<span class="ident">block_size</span>();
|
||||
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">ciphertext</span> <span class="op">=</span> <span class="macro">vec</span><span class="macro">!</span>[<span class="number">0</span>; <span class="ident">data_len</span> <span class="op">+</span> <span class="ident">block_size</span>];
|
||||
|
||||
<span class="comment">// Encrypt 2 chunks of plaintexts successively.</span>
|
||||
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">count</span> <span class="op">=</span> <span class="ident">encrypter</span>.<span class="ident">update</span>(<span class="ident">plaintexts</span>[<span class="number">0</span>], <span class="kw-2">&</span><span class="kw-2">mut</span> <span class="ident">ciphertext</span>).<span class="ident">unwrap</span>();
|
||||
<span class="ident">count</span> <span class="op">+</span><span class="op">=</span> <span class="ident">encrypter</span>.<span class="ident">update</span>(<span class="ident">plaintexts</span>[<span class="number">1</span>], <span class="kw-2">&</span><span class="kw-2">mut</span> <span class="ident">ciphertext</span>[<span class="ident">count</span>..]).<span class="ident">unwrap</span>();
|
||||
<span class="ident">count</span> <span class="op">+</span><span class="op">=</span> <span class="ident">encrypter</span>.<span class="ident">finalize</span>(<span class="kw-2">&</span><span class="kw-2">mut</span> <span class="ident">ciphertext</span>[<span class="ident">count</span>..]).<span class="ident">unwrap</span>();
|
||||
<span class="ident">ciphertext</span>.<span class="ident">truncate</span>(<span class="ident">count</span>);
|
||||
|
||||
<span class="macro">assert_eq</span><span class="macro">!</span>(
|
||||
<span class="string">b"\x0F\x21\x83\x7E\xB2\x88\x04\xAF\xD9\xCC\xE2\x03\x49\xB4\x88\xF6\xC4\x61\x0E\x32\x1C\xF9\
|
||||
\x0D\x66\xB1\xE6\x2C\x77\x76\x18\x8D\x99"</span>,
|
||||
<span class="kw-2">&</span><span class="ident">ciphertext</span>[..]
|
||||
);
|
||||
|
||||
|
||||
<span class="comment">// Let's pretend we don't know the plaintext, and now decrypt the ciphertext.</span>
|
||||
<span class="kw">let</span> <span class="ident">data_len</span> <span class="op">=</span> <span class="ident">ciphertext</span>.<span class="ident">len</span>();
|
||||
<span class="kw">let</span> <span class="ident">ciphertexts</span> <span class="op">=</span> [<span class="kw-2">&</span><span class="ident">ciphertext</span>[..<span class="number">9</span>], <span class="kw-2">&</span><span class="ident">ciphertext</span>[<span class="number">9</span>..]];
|
||||
|
||||
<span class="comment">// Create a cipher context for decryption.</span>
|
||||
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">decrypter</span> <span class="op">=</span> <span class="ident">Crypter</span>::<span class="ident">new</span>(
|
||||
<span class="ident">Cipher</span>::<span class="ident">aes_128_cbc</span>(),
|
||||
<span class="ident">Mode</span>::<span class="ident">Decrypt</span>,
|
||||
<span class="ident">key</span>,
|
||||
<span class="prelude-val">Some</span>(<span class="ident">iv</span>)).<span class="ident">unwrap</span>();
|
||||
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">plaintext</span> <span class="op">=</span> <span class="macro">vec</span><span class="macro">!</span>[<span class="number">0</span>; <span class="ident">data_len</span> <span class="op">+</span> <span class="ident">block_size</span>];
|
||||
|
||||
<span class="comment">// Decrypt 2 chunks of ciphertexts successively.</span>
|
||||
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">count</span> <span class="op">=</span> <span class="ident">decrypter</span>.<span class="ident">update</span>(<span class="ident">ciphertexts</span>[<span class="number">0</span>], <span class="kw-2">&</span><span class="kw-2">mut</span> <span class="ident">plaintext</span>).<span class="ident">unwrap</span>();
|
||||
<span class="ident">count</span> <span class="op">+</span><span class="op">=</span> <span class="ident">decrypter</span>.<span class="ident">update</span>(<span class="ident">ciphertexts</span>[<span class="number">1</span>], <span class="kw-2">&</span><span class="kw-2">mut</span> <span class="ident">plaintext</span>[<span class="ident">count</span>..]).<span class="ident">unwrap</span>();
|
||||
<span class="ident">count</span> <span class="op">+</span><span class="op">=</span> <span class="ident">decrypter</span>.<span class="ident">finalize</span>(<span class="kw-2">&</span><span class="kw-2">mut</span> <span class="ident">plaintext</span>[<span class="ident">count</span>..]).<span class="ident">unwrap</span>();
|
||||
<span class="ident">plaintext</span>.<span class="ident">truncate</span>(<span class="ident">count</span>);
|
||||
|
||||
<span class="macro">assert_eq</span><span class="macro">!</span>(<span class="string">b"Some Stream of Crypto Text"</span>, <span class="kw-2">&</span><span class="ident">plaintext</span>[..]);</pre></div>
|
||||
</div><h2 id="implementations" class="small-section-header">Implementations<a href="#implementations" class="anchor"></a></h2><h3 id="impl" class="impl"><code class="in-band">impl <a class="struct" href="../../openssl/symm/struct.Crypter.html" title="struct openssl::symm::Crypter">Crypter</a></code><a href="#impl" class="anchor"></a><a class="srclink" href="../../src/openssl/symm.rs.html#418-661" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.new" class="method"><code>pub fn <a href="#method.new" class="fnname">new</a>(<br> t: <a class="struct" href="../../openssl/symm/struct.Cipher.html" title="struct openssl::symm::Cipher">Cipher</a>, <br> mode: <a class="enum" href="../../openssl/symm/enum.Mode.html" title="enum openssl::symm::Mode">Mode</a>, <br> key: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">&[</a><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">]</a>, <br> iv: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">&[</a><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">]</a>><br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="struct" href="../../openssl/symm/struct.Crypter.html" title="struct openssl::symm::Crypter">Crypter</a>, <a class="struct" href="../../openssl/error/struct.ErrorStack.html" title="struct openssl::error::ErrorStack">ErrorStack</a>></code><a class="srclink" href="../../src/openssl/symm.rs.html#426-489" title="goto source code">[src]</a></h4><div class="docblock"><p>Creates a new <code>Crypter</code>. The initialisation vector, <code>iv</code>, is not necesarry for certain
|
||||
types of <code>Cipher</code>.</p>
|
||||
<h1 id="panics" class="section-header"><a href="#panics">Panics</a></h1>
|
||||
<p>Panics if an IV is required by the cipher but not provided. Also make sure that the key
|
||||
and IV size are appropriate for your cipher.</p>
|
||||
</div><h4 id="method.pad" class="method"><code>pub fn <a href="#method.pad" class="fnname">pad</a>(&mut self, padding: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a>)</code><a class="srclink" href="../../src/openssl/symm.rs.html#495-499" title="goto source code">[src]</a></h4><div class="docblock"><p>Enables or disables padding.</p>
|
||||
<p>If padding is disabled, total amount of data encrypted/decrypted must
|
||||
be a multiple of the cipher’s block size.</p>
|
||||
</div><h4 id="method.set_tag" class="method"><code>pub fn <a href="#method.set_tag" class="fnname">set_tag</a>(&mut self, tag: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">&[</a><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">]</a>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="struct" href="../../openssl/error/struct.ErrorStack.html" title="struct openssl::error::ErrorStack">ErrorStack</a>></code><a class="srclink" href="../../src/openssl/symm.rs.html#504-516" title="goto source code">[src]</a></h4><div class="docblock"><p>Sets the tag used to authenticate ciphertext in AEAD ciphers such as AES GCM.</p>
|
||||
<p>When decrypting cipher text using an AEAD cipher, this must be called before <code>finalize</code>.</p>
|
||||
</div><h4 id="method.set_tag_len" class="method"><code>pub fn <a href="#method.set_tag_len" class="fnname">set_tag_len</a>(&mut self, tag_len: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="struct" href="../../openssl/error/struct.ErrorStack.html" title="struct openssl::error::ErrorStack">ErrorStack</a>></code><a class="srclink" href="../../src/openssl/symm.rs.html#522-534" title="goto source code">[src]</a></h4><div class="docblock"><p>Sets the length of the authentication tag to generate in AES CCM.</p>
|
||||
<p>When encrypting with AES CCM, the tag length needs to be explicitly set in order
|
||||
to use a value different than the default 12 bytes.</p>
|
||||
</div><h4 id="method.set_data_len" class="method"><code>pub fn <a href="#method.set_data_len" class="fnname">set_data_len</a>(&mut self, data_len: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="struct" href="../../openssl/error/struct.ErrorStack.html" title="struct openssl::error::ErrorStack">ErrorStack</a>></code><a class="srclink" href="../../src/openssl/symm.rs.html#540-553" title="goto source code">[src]</a></h4><div class="docblock"><p>Feeds total plaintext length to the cipher.</p>
|
||||
<p>The total plaintext or ciphertext length MUST be passed to the cipher when it operates in
|
||||
CCM mode.</p>
|
||||
</div><h4 id="method.aad_update" class="method"><code>pub fn <a href="#method.aad_update" class="fnname">aad_update</a>(&mut self, input: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">&[</a><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">]</a>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="struct" href="../../openssl/error/struct.ErrorStack.html" title="struct openssl::error::ErrorStack">ErrorStack</a>></code><a class="srclink" href="../../src/openssl/symm.rs.html#560-573" title="goto source code">[src]</a></h4><div class="docblock"><p>Feeds Additional Authenticated Data (AAD) through the cipher.</p>
|
||||
<p>This can only be used with AEAD ciphers such as AES GCM. Data fed in is not encrypted, but
|
||||
is factored into the authentication tag. It must be called before the first call to
|
||||
<code>update</code>.</p>
|
||||
</div><h4 id="method.update" class="method"><code>pub fn <a href="#method.update" class="fnname">update</a>(<br> &mut self, <br> input: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">&[</a><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">]</a>, <br> output: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">&mut [</a><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">]</a><br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>, <a class="struct" href="../../openssl/error/struct.ErrorStack.html" title="struct openssl::error::ErrorStack">ErrorStack</a>></code><a class="srclink" href="../../src/openssl/symm.rs.html#589-611" title="goto source code">[src]</a></h4><div class="docblock"><p>Feeds data from <code>input</code> through the cipher, writing encrypted/decrypted
|
||||
bytes into <code>output</code>.</p>
|
||||
<p>The number of bytes written to <code>output</code> is returned. Note that this may
|
||||
not be equal to the length of <code>input</code>.</p>
|
||||
<h1 id="panics-1" class="section-header"><a href="#panics-1">Panics</a></h1>
|
||||
<p>Panics for stream ciphers if <code>output.len() < input.len()</code>.</p>
|
||||
<p>Panics for block ciphers if <code>output.len() < input.len() + block_size</code>,
|
||||
where <code>block_size</code> is the block size of the cipher (see <code>Cipher::block_size</code>).</p>
|
||||
<p>Panics if <code>output.len() > c_int::max_value()</code>.</p>
|
||||
</div><h4 id="method.finalize" class="method"><code>pub fn <a href="#method.finalize" class="fnname">finalize</a>(&mut self, output: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">&mut [</a><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">]</a>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>, <a class="struct" href="../../openssl/error/struct.ErrorStack.html" title="struct openssl::error::ErrorStack">ErrorStack</a>></code><a class="srclink" href="../../src/openssl/symm.rs.html#624-639" title="goto source code">[src]</a></h4><div class="docblock"><p>Finishes the encryption/decryption process, writing any remaining data
|
||||
to <code>output</code>.</p>
|
||||
<p>The number of bytes written to <code>output</code> is returned.</p>
|
||||
<p><code>update</code> should not be called after this method.</p>
|
||||
<h1 id="panics-2" class="section-header"><a href="#panics-2">Panics</a></h1>
|
||||
<p>Panics for block ciphers if <code>output.len() < block_size</code>,
|
||||
where <code>block_size</code> is the block size of the cipher (see <code>Cipher::block_size</code>).</p>
|
||||
</div><h4 id="method.get_tag" class="method"><code>pub fn <a href="#method.get_tag" class="fnname">get_tag</a>(&self, tag: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">&mut [</a><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">]</a>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="struct" href="../../openssl/error/struct.ErrorStack.html" title="struct openssl::error::ErrorStack">ErrorStack</a>></code><a class="srclink" href="../../src/openssl/symm.rs.html#649-660" title="goto source code">[src]</a></h4><div class="docblock"><p>Retrieves the authentication tag used to authenticate ciphertext in AEAD ciphers such
|
||||
as AES GCM.</p>
|
||||
<p>When encrypting data with an AEAD cipher, this must be called after <code>finalize</code>.</p>
|
||||
<p>The size of the buffer indicates the required size of the tag. While some ciphers support a
|
||||
range of tag sizes, it is recommended to pick the maximum size. For AES GCM, this is 16
|
||||
bytes, for example.</p>
|
||||
</div></div><h2 id="trait-implementations" class="small-section-header">Trait Implementations<a href="#trait-implementations" class="anchor"></a></h2><div id="trait-implementations-list"><h3 id="impl-Drop" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/drop/trait.Drop.html" title="trait core::ops::drop::Drop">Drop</a> for <a class="struct" href="../../openssl/symm/struct.Crypter.html" title="struct openssl::symm::Crypter">Crypter</a></code><a href="#impl-Drop" class="anchor"></a><a class="srclink" href="../../src/openssl/symm.rs.html#663-669" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.drop" class="method hidden"><code>fn <a href="https://doc.rust-lang.org/nightly/core/ops/drop/trait.Drop.html#tymethod.drop" class="fnname">drop</a>(&mut self)</code><a class="srclink" href="../../src/openssl/symm.rs.html#664-668" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Executes the destructor for this type. <a href="https://doc.rust-lang.org/nightly/core/ops/drop/trait.Drop.html#tymethod.drop">Read more</a></p>
|
||||
</div></div><h3 id="impl-Send" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> for <a class="struct" href="../../openssl/symm/struct.Crypter.html" title="struct openssl::symm::Crypter">Crypter</a></code><a href="#impl-Send" class="anchor"></a><a class="srclink" href="../../src/openssl/symm.rs.html#416" title="goto source code">[src]</a></h3><div class="impl-items"></div><h3 id="impl-Sync" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> for <a class="struct" href="../../openssl/symm/struct.Crypter.html" title="struct openssl::symm::Crypter">Crypter</a></code><a href="#impl-Sync" class="anchor"></a><a class="srclink" href="../../src/openssl/symm.rs.html#415" title="goto source code">[src]</a></h3><div class="impl-items"></div></div><h2 id="synthetic-implementations" class="small-section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor"></a></h2><div id="synthetic-implementations-list"><h3 id="impl-RefUnwindSafe" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.RefUnwindSafe.html" title="trait std::panic::RefUnwindSafe">RefUnwindSafe</a> for <a class="struct" href="../../openssl/symm/struct.Crypter.html" title="struct openssl::symm::Crypter">Crypter</a></code><a href="#impl-RefUnwindSafe" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Unpin" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a> for <a class="struct" href="../../openssl/symm/struct.Crypter.html" title="struct openssl::symm::Crypter">Crypter</a></code><a href="#impl-Unpin" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-UnwindSafe" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.UnwindSafe.html" title="trait std::panic::UnwindSafe">UnwindSafe</a> for <a class="struct" href="../../openssl/symm/struct.Crypter.html" title="struct openssl::symm::Crypter">Crypter</a></code><a href="#impl-UnwindSafe" class="anchor"></a></h3><div class="impl-items"></div></div><h2 id="blanket-implementations" class="small-section-header">Blanket Implementations<a href="#blanket-implementations" class="anchor"></a></h2><div id="blanket-implementations-list"><h3 id="impl-Any" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html" title="trait core::any::Any">Any</a> for T <span class="where fmt-newline">where<br> T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Any" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#131-135" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.type_id" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id" class="fnname">type_id</a>(&self) -> <a class="struct" href="https://doc.rust-lang.org/nightly/core/any/struct.TypeId.html" title="struct core::any::TypeId">TypeId</a></code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#132" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Gets the <code>TypeId</code> of <code>self</code>. <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id">Read more</a></p>
|
||||
</div></div><h3 id="impl-Borrow%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a><T> for T <span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Borrow%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#207-211" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.borrow" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow" class="fnname">borrow</a>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>T</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#208" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Immutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow">Read more</a></p>
|
||||
</div></div><h3 id="impl-BorrowMut%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html" title="trait core::borrow::BorrowMut">BorrowMut</a><T> for T <span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-BorrowMut%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#214-218" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.borrow_mut" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut" class="fnname">borrow_mut</a>(&mut self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>T</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#215" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Mutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut">Read more</a></p>
|
||||
</div></div><h3 id="impl-From%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T> for T</code><a href="#impl-From%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#545-549" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.from" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(t: T) -> T</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#546" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
|
||||
</div></div><h3 id="impl-Into%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T>, </span></code><a href="#impl-Into%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#534-541" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.into" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html#tymethod.into" class="fnname">into</a>(self) -> U</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#538" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
|
||||
</div></div><h3 id="impl-TryFrom%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><T>, </span></code><a href="#impl-TryFrom%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#582-591" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Error" class="type"><code>type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" class="type">Error</a> = <a class="enum" href="https://doc.rust-lang.org/nightly/core/convert/enum.Infallible.html" title="enum core::convert::Infallible">Infallible</a></code></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
|
||||
</div><h4 id="method.try_from" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#tymethod.try_from" class="fnname">try_from</a>(value: U) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><T, <T as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#588" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
|
||||
</div></div><h3 id="impl-TryInto%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html" title="trait core::convert::TryInto">TryInto</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>, </span></code><a href="#impl-TryInto%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#568-577" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Error-1" class="type"><code>type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#associatedtype.Error" class="type">Error</a> = <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a></code></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
|
||||
</div><h4 id="method.try_into" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#tymethod.try_into" class="fnname">try_into</a>(self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><U, <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#574" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
|
||||
</div></div></div></section><section id="search" class="content hidden"></section><section class="footer"></section><div id="rustdoc-vars" data-root-path="../../" data-current-crate="openssl"></div>
|
||||
<script src="../../main.js"></script><script defer src="../../search-index.js"></script></body></html>
|
||||
Reference in New Issue
Block a user