Initial docs commit

This commit is contained in:
Uttarayan Mondal
2021-03-15 01:27:34 +05:30
commit d5ecda4c73
20211 changed files with 1370362 additions and 0 deletions
+25
View File
@@ -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">&#9776;</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&lt;T&gt;</a><a href="#impl-BorrowMut%3CT%3E">BorrowMut&lt;T&gt;</a><a href="#impl-From%3CT%3E">From&lt;T&gt;</a><a href="#impl-Into%3CU%3E">Into&lt;U&gt;</a><a href="#impl-ToOwned">ToOwned</a><a href="#impl-TryFrom%3CU%3E">TryFrom&lt;U&gt;</a><a href="#impl-TryInto%3CU%3E">TryInto&lt;U&gt;</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">&#x2212;</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>(&amp;self) -&gt; <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>(&amp;mut self, source: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&amp;</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&lt;T&gt; <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>&nbsp;&nbsp;&nbsp;&nbsp;T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,&nbsp;</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>(&amp;self) -&gt; <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&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a>&lt;T&gt; for T <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,&nbsp;</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>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&amp;</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&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html" title="trait core::borrow::BorrowMut">BorrowMut</a>&lt;T&gt; for T <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,&nbsp;</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>(&amp;mut self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&amp;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&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt; 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) -&gt; 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&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;U&gt; for T <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt;,&nbsp;</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) -&gt; 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&lt;T&gt; <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>&nbsp;&nbsp;&nbsp;&nbsp;T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>,&nbsp;</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>(&amp;self) -&gt; 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>(&amp;self, target: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&amp;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&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;U&gt; for T <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;T&gt;,&nbsp;</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) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;T, &lt;T as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;U&gt;&gt;::<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>&gt;</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&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html" title="trait core::convert::TryInto">TryInto</a>&lt;U&gt; for T <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;,&nbsp;</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> = &lt;U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;&gt;::<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) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;U, &lt;U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;&gt;::<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>&gt;</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>
+30
View File
@@ -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">&#9776;</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">&#x2212;</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>&nbsp;&nbsp;&nbsp;&nbsp;t: <a class="struct" href="../../openssl/symm/struct.Cipher.html" title="struct openssl::symm::Cipher">Cipher</a>, <br>&nbsp;&nbsp;&nbsp;&nbsp;key: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">&amp;[</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>&nbsp;&nbsp;&nbsp;&nbsp;iv: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">&amp;[</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>&gt;, <br>&nbsp;&nbsp;&nbsp;&nbsp;data: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">&amp;[</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>) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a>&gt;, <a class="struct" href="../../openssl/error/struct.ErrorStack.html" title="struct openssl::error::ErrorStack">ErrorStack</a>&gt;</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&quot;\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&quot;</span>;
<span class="kw">let</span> <span class="ident">key</span> <span class="op">=</span> <span class="string">b&quot;\x00\x01\x02\x03\x04\x05\x06\x07\x08\x09\x0A\x0B\x0C\x0D\x0E\x0F&quot;</span>;
<span class="kw">let</span> <span class="ident">iv</span> <span class="op">=</span> <span class="string">b&quot;\x00\x01\x02\x03\x04\x05\x06\x07\x00\x01\x02\x03\x04\x05\x06\x07&quot;</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&quot;Some Crypto Text&quot;</span>,
<span class="kw-2">&amp;</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>
+8
View File
@@ -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">&#9776;</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">&#x2212;</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>&nbsp;&nbsp;&nbsp;&nbsp;t: <a class="struct" href="../../openssl/symm/struct.Cipher.html" title="struct openssl::symm::Cipher">Cipher</a>, <br>&nbsp;&nbsp;&nbsp;&nbsp;key: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">&amp;[</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>&nbsp;&nbsp;&nbsp;&nbsp;iv: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">&amp;[</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>&gt;, <br>&nbsp;&nbsp;&nbsp;&nbsp;aad: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">&amp;[</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>&nbsp;&nbsp;&nbsp;&nbsp;data: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">&amp;[</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>&nbsp;&nbsp;&nbsp;&nbsp;tag: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">&amp;[</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>) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a>&gt;, <a class="struct" href="../../openssl/error/struct.ErrorStack.html" title="struct openssl::error::ErrorStack">ErrorStack</a>&gt;</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>
+30
View File
@@ -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">&#9776;</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">&#x2212;</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>&nbsp;&nbsp;&nbsp;&nbsp;t: <a class="struct" href="../../openssl/symm/struct.Cipher.html" title="struct openssl::symm::Cipher">Cipher</a>, <br>&nbsp;&nbsp;&nbsp;&nbsp;key: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">&amp;[</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>&nbsp;&nbsp;&nbsp;&nbsp;iv: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">&amp;[</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>&gt;, <br>&nbsp;&nbsp;&nbsp;&nbsp;data: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">&amp;[</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>) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a>&gt;, <a class="struct" href="../../openssl/error/struct.ErrorStack.html" title="struct openssl::error::ErrorStack">ErrorStack</a>&gt;</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&quot;Some Crypto Text&quot;</span>;
<span class="kw">let</span> <span class="ident">key</span> <span class="op">=</span> <span class="string">b&quot;\x00\x01\x02\x03\x04\x05\x06\x07\x08\x09\x0A\x0B\x0C\x0D\x0E\x0F&quot;</span>;
<span class="kw">let</span> <span class="ident">iv</span> <span class="op">=</span> <span class="string">b&quot;\x00\x01\x02\x03\x04\x05\x06\x07\x00\x01\x02\x03\x04\x05\x06\x07&quot;</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&quot;\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&quot;</span>,
<span class="kw-2">&amp;</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>
+11
View File
@@ -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">&#9776;</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">&#x2212;</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>&nbsp;&nbsp;&nbsp;&nbsp;t: <a class="struct" href="../../openssl/symm/struct.Cipher.html" title="struct openssl::symm::Cipher">Cipher</a>, <br>&nbsp;&nbsp;&nbsp;&nbsp;key: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">&amp;[</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>&nbsp;&nbsp;&nbsp;&nbsp;iv: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">&amp;[</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>&gt;, <br>&nbsp;&nbsp;&nbsp;&nbsp;aad: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">&amp;[</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>&nbsp;&nbsp;&nbsp;&nbsp;data: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">&amp;[</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>&nbsp;&nbsp;&nbsp;&nbsp;tag: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">&amp;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>) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a>&gt;, <a class="struct" href="../../openssl/error/struct.ErrorStack.html" title="struct openssl::error::ErrorStack">ErrorStack</a>&gt;</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>
+62
View File
@@ -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">&#9776;</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">&#x2212;</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&quot;Some Crypto Text&quot;</span>;
<span class="kw">let</span> <span class="ident">key</span> <span class="op">=</span> <span class="string">b&quot;\x00\x01\x02\x03\x04\x05\x06\x07\x08\x09\x0A\x0B\x0C\x0D\x0E\x0F&quot;</span>;
<span class="kw">let</span> <span class="ident">iv</span> <span class="op">=</span> <span class="string">b&quot;\x00\x01\x02\x03\x04\x05\x06\x07\x00\x01\x02\x03\x04\x05\x06\x07&quot;</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&quot;\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&quot;</span>,
<span class="kw-2">&amp;</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&quot;Rust&quot;</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">&amp;</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">&amp;</span><span class="ident">privkey_pem</span>, <span class="string">b&quot;Rust&quot;</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&quot;Foo bar&quot;</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">&amp;</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">&gt;</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">&amp;</span><span class="ident">encrypted</span>, <span class="kw-2">&amp;</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">&quot;Foo bar&quot;</span>, <span class="ident">output_string</span>);
<span class="macro">println</span><span class="macro">!</span>(<span class="string">&quot;Decrypted: &#39;{}&#39;&quot;</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>
+1
View File
@@ -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."]]});
+41
View File
@@ -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">&#9776;</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&lt;Cipher&gt;</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&lt;T&gt;</a><a href="#impl-BorrowMut%3CT%3E">BorrowMut&lt;T&gt;</a><a href="#impl-From%3CT%3E">From&lt;T&gt;</a><a href="#impl-Into%3CU%3E">Into&lt;U&gt;</a><a href="#impl-ToOwned">ToOwned</a><a href="#impl-TryFrom%3CU%3E">TryFrom&lt;U&gt;</a><a href="#impl-TryInto%3CU%3E">TryInto&lt;U&gt;</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">&#x2212;</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>) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="struct" href="../../openssl/symm/struct.Cipher.html" title="struct openssl::symm::Cipher">Cipher</a>&gt;</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>() -&gt; <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>() -&gt; <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>() -&gt; <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>() -&gt; <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>() -&gt; <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>() -&gt; <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>() -&gt; <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>() -&gt; <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>() -&gt; <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>() -&gt; <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>() -&gt; <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>() -&gt; <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>() -&gt; <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>() -&gt; <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>() -&gt; <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>() -&gt; <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>() -&gt; <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>() -&gt; <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>() -&gt; <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>() -&gt; <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>() -&gt; <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>() -&gt; <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>() -&gt; <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>() -&gt; <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>() -&gt; <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>() -&gt; <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>() -&gt; <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>() -&gt; <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>() -&gt; <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>() -&gt; <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>() -&gt; <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>() -&gt; <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>() -&gt; <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>() -&gt; <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>() -&gt; <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>() -&gt; <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>() -&gt; <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>() -&gt; <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>() -&gt; <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>() -&gt; <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>() -&gt; <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>() -&gt; <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>() -&gt; <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>() -&gt; <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>) -&gt; <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>(&amp;self) -&gt; <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>(&amp;self) -&gt; <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>(&amp;self) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>&gt;</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>(&amp;self) -&gt; <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>(&amp;self) -&gt; <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>(&amp;mut self, source: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&amp;</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>&lt;<a class="struct" href="../../openssl/symm/struct.Cipher.html" title="struct openssl::symm::Cipher">Cipher</a>&gt; 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>(&amp;self, other: &amp;<a class="struct" href="../../openssl/symm/struct.Cipher.html" title="struct openssl::symm::Cipher">Cipher</a>) -&gt; <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>(&amp;self, other: &amp;<a class="struct" href="../../openssl/symm/struct.Cipher.html" title="struct openssl::symm::Cipher">Cipher</a>) -&gt; <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&lt;T&gt; <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>&nbsp;&nbsp;&nbsp;&nbsp;T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,&nbsp;</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>(&amp;self) -&gt; <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&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a>&lt;T&gt; for T <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,&nbsp;</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>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&amp;</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&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html" title="trait core::borrow::BorrowMut">BorrowMut</a>&lt;T&gt; for T <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,&nbsp;</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>(&amp;mut self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&amp;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&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt; 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) -&gt; 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&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;U&gt; for T <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt;,&nbsp;</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) -&gt; 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&lt;T&gt; <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>&nbsp;&nbsp;&nbsp;&nbsp;T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>,&nbsp;</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>(&amp;self) -&gt; 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>(&amp;self, target: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&amp;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&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;U&gt; for T <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;T&gt;,&nbsp;</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) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;T, &lt;T as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;U&gt;&gt;::<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>&gt;</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&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html" title="trait core::convert::TryInto">TryInto</a>&lt;U&gt; for T <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;,&nbsp;</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> = &lt;U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;&gt;::<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) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;U, &lt;U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;&gt;::<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>&gt;</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>
+113
View File
@@ -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">&#9776;</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&lt;T&gt;</a><a href="#impl-BorrowMut%3CT%3E">BorrowMut&lt;T&gt;</a><a href="#impl-From%3CT%3E">From&lt;T&gt;</a><a href="#impl-Into%3CU%3E">Into&lt;U&gt;</a><a href="#impl-TryFrom%3CU%3E">TryFrom&lt;U&gt;</a><a href="#impl-TryInto%3CU%3E">TryInto&lt;U&gt;</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">&#x2212;</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">&amp;</span>[<span class="ident">u8</span>]; <span class="number">2</span>] <span class="op">=</span> [<span class="string">b&quot;Some Stream of&quot;</span>, <span class="string">b&quot; Crypto Text&quot;</span>];
<span class="kw">let</span> <span class="ident">key</span> <span class="op">=</span> <span class="string">b&quot;\x00\x01\x02\x03\x04\x05\x06\x07\x08\x09\x0A\x0B\x0C\x0D\x0E\x0F&quot;</span>;
<span class="kw">let</span> <span class="ident">iv</span> <span class="op">=</span> <span class="string">b&quot;\x00\x01\x02\x03\x04\x05\x06\x07\x00\x01\x02\x03\x04\x05\x06\x07&quot;</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">&amp;</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">&amp;</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">&amp;</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&quot;\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&quot;</span>,
<span class="kw-2">&amp;</span><span class="ident">ciphertext</span>[..]
);
<span class="comment">// Let&#39;s pretend we don&#39;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">&amp;</span><span class="ident">ciphertext</span>[..<span class="number">9</span>], <span class="kw-2">&amp;</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">&amp;</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">&amp;</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">&amp;</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&quot;Some Stream of Crypto Text&quot;</span>, <span class="kw-2">&amp;</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>&nbsp;&nbsp;&nbsp;&nbsp;t: <a class="struct" href="../../openssl/symm/struct.Cipher.html" title="struct openssl::symm::Cipher">Cipher</a>, <br>&nbsp;&nbsp;&nbsp;&nbsp;mode: <a class="enum" href="../../openssl/symm/enum.Mode.html" title="enum openssl::symm::Mode">Mode</a>, <br>&nbsp;&nbsp;&nbsp;&nbsp;key: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">&amp;[</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>&nbsp;&nbsp;&nbsp;&nbsp;iv: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">&amp;[</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>&gt;<br>) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<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>&gt;</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>(&amp;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 ciphers block size.</p>
</div><h4 id="method.set_tag" class="method"><code>pub fn <a href="#method.set_tag" class="fnname">set_tag</a>(&amp;mut self, tag: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">&amp;[</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>) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<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>&gt;</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>(&amp;mut self, tag_len: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<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>&gt;</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>(&amp;mut self, data_len: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<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>&gt;</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>(&amp;mut self, input: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">&amp;[</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>) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<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>&gt;</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>&nbsp;&nbsp;&nbsp;&nbsp;&amp;mut self, <br>&nbsp;&nbsp;&nbsp;&nbsp;input: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">&amp;[</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>&nbsp;&nbsp;&nbsp;&nbsp;output: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">&amp;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>) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<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>&gt;</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() &lt; input.len()</code>.</p>
<p>Panics for block ciphers if <code>output.len() &lt; 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() &gt; c_int::max_value()</code>.</p>
</div><h4 id="method.finalize" class="method"><code>pub fn <a href="#method.finalize" class="fnname">finalize</a>(&amp;mut self, output: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">&amp;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>) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<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>&gt;</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() &lt; 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>(&amp;self, tag: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">&amp;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>) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<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>&gt;</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>(&amp;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&lt;T&gt; <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>&nbsp;&nbsp;&nbsp;&nbsp;T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,&nbsp;</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>(&amp;self) -&gt; <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&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a>&lt;T&gt; for T <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,&nbsp;</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>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&amp;</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&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html" title="trait core::borrow::BorrowMut">BorrowMut</a>&lt;T&gt; for T <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,&nbsp;</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>(&amp;mut self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&amp;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&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt; 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) -&gt; 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&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;U&gt; for T <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt;,&nbsp;</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) -&gt; 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&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;U&gt; for T <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;T&gt;,&nbsp;</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) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;T, &lt;T as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;U&gt;&gt;::<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>&gt;</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&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html" title="trait core::convert::TryInto">TryInto</a>&lt;U&gt; for T <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;,&nbsp;</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> = &lt;U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;&gt;::<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) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;U, &lt;U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;&gt;::<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>&gt;</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>