/classes/crypt.html
https://github.com/rclanan/docs · HTML · 186 lines · 174 code · 12 blank · 0 comment · 0 complexity · 78f91fa2a31008577cc5b1f1ed433764 MD5 · raw file
- <!DOCTYPE html>
- <html>
- <head>
- <meta charset="utf-8">
- <title>Crypt Class - Fuel Documentation</title>
- <link href="../assets/css/main.css" media="screen" rel="stylesheet" />
- <script type="text/javascript" src="../assets/js/jquery-1.4.4.min.js"></script>
- <script type="text/javascript" src="../assets/js/nav.js"></script>
- <script type="text/javascript" src="../assets/js/highlight.pack.js"></script>
- <script type="text/javascript">
- $(function() {
- show_nav('classes', '../');
- });
- hljs.tabReplace = ' ';
- hljs.initHighlightingOnLoad();
- </script>
- </head>
- <body>
- <header>
- <h1>Fuel Documentation</h1>
- </header>
- <div id="main-nav"></div>
- <section id="content">
- <h2>Crypt Class</h2>
- <p>
- The Crypt class allows encrypt or decrypt a string. The Crypt class is also used internally by for example the Fuel Sessions class.
- </p>
- <p>It uses the encryption and hashing methods provided by PHPSecLib, so it's not dependent on external modules being available, such as mcrypt.</p>
- <section>
- <h2>Configuration</h2>
- <p>
- The Crypt class is configured through the <kbd>app/config/crypt.php</kbd> configuration file. It will be generated and populated with random values when you first use the Crypt class or if one of the required configuration values is missing.
- </p>
- <p class="note">
- Note that this will require write access to app/config/crypt.php! If this is not possible, make sure all configuration settings are set!
- </p>
- <p>The following configuration settings can be defined:</p>
- <table class="config">
- <tbody>
- <tr class="header">
- <th>Param</th>
- <th>Type</th>
- <th>Default</th>
- <th>Description</th>
- </tr>
- <tr>
- <th>crypto_key</th>
- <td>string</td>
- <td>n/a</td>
- <td>
- Random encryption key value used in the encryption routines. Make sure you set this to something unique and random!
- </td>
- </tr>
- <tr>
- <th>crypto_iv</th>
- <td>string</td>
- <td>n/a</td>
- <td>
- Random encryption initialisation vector used in the encryption routines. Make sure you set this to something unique and random!
- </td>
- </tr>
- <tr>
- <th>crypto_hmac</th>
- <td>string</td>
- <td>n/a</td>
- <td>
- Random value used in the Hash-based Message Authentication Code (HMAC) routines. Make sure you set this to something unique and random!
- </td>
- </tr>
- </tbody>
- </table>
- <p class="note">
- If you assign keys manually, note that they are base64_encoded, and the length must be a multiple of 4 to be able to decode it. Make sure the length is correct!
- </p>
- </section>
- <article>
- <h4 id="method_encode">encode($value, $key = false)</h4>
- <p>The <strong>encode</strong> method encrypts a string value, optionally with a custom encryption key.</p>
- <table class="method">
- <tbody>
- <tr>
- <th class="legend">Static</th>
- <td>No</td>
- </tr>
- <tr>
- <th>Parameters</th>
- <td>
- <table class="parameters">
- <tr>
- <th>Param</th>
- <th>Default</th>
- <th class="description">Description</th>
- </tr>
- <tr>
- <th><kbd>$value</kbd></th>
- <td><i>Required</i></td>
- <td>String value to encode.</td>
- </tr>
- <tr>
- <th><kbd>$key</kbd></th>
- <td><pre class="php"><code>false</code></pre></td>
- <td>Optional custom key value to be used to encode the value passsed. If false, the config value '<strong>crypto_key</strong>' is used.</td>
- </tr>
- </table>
- </td>
- </tr>
- <tr>
- <th>Returns</th>
- <td>string</td>
- </tr>
- <tr>
- <th>Example</th>
- <td>
- <pre class="php"><code>// encode a variable with a custom key
- $value = Crypt::encode($value, 'R@nd0mK~Y');</code></pre>
- </td>
- </tr>
- </tbody>
- </table>
- </article>
- <article>
- <h4 id="method_decode">decode($value, $key = false)</h4>
- <p>The <strong>decode</strong> method decrypts a string value, optionally with a custom key.</p>
- <table class="method">
- <tbody>
- <tr>
- <th class="legend">Static</th>
- <td>No</td>
- </tr>
- <tr>
- <th>Parameters</th>
- <td>
- <table class="parameters">
- <tr>
- <th>Param</th>
- <th>Default</th>
- <th class="description">Description</th>
- </tr>
- <tr>
- <th><kbd>$value</kbd></th>
- <td><i>Required</i></td>
- <td>String value to decode.</td>
- </tr>
- <tr>
- <th><kbd>$key</kbd></th>
- <td><pre class="php"><code>false</code></pre></td>
- <td>Optional custom key value to be used to decode the value passsed. If false, the config value '<strong>crypto_key</strong>' is used.</td>
- </tr>
- </table>
- </td>
- </tr>
- <tr>
- <th>Returns</th>
- <td>mixed - String value with the decoded value, or <kbd>false</kbd> if the value could not be decoded.</td>
- </tr>
- <tr>
- <th>Example</th>
- <td>
- <pre class="php"><code>// decode a variable with a custom key
- $value = Crypt::decode($value, 'R@nd0mK~Y');</code></pre>
- </td>
- </tr>
- </tbody>
- </table>
- </article>
- </section>
- <section id="footer">
- <p>
- <a href="http://fuelphp.com">Fuel</a> is released under the MIT license.<br />
- © 2010 - 2011 Fuel Development Team
- </p>
- </section>
- </body>
- </html>