Просмотр файла news/libraries/api/classBcrypt.html

Размер файла: 9.77Kb
  1. <!-- HTML header for doxygen 1.8.5-->
  2. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  3. <html xmlns="http://www.w3.org/1999/xhtml">
  4. <head>
  5. <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
  6. <meta http-equiv="X-UA-Compatible" content="IE=9"/>
  7. <meta name="generator" content="Doxygen 1.8.6"/>
  8. <title>Fat-Free Framework: Bcrypt Class Reference</title>
  9. <link href="tabs.css" rel="stylesheet" type="text/css"/>
  10. <script type="text/javascript" src="jquery.js"></script>
  11. <script type="text/javascript" src="dynsections.js"></script>
  12. <link href="doxygen.css" rel="stylesheet" type="text/css" />
  13. </head>
  14. <body>
  15. <div id="top"><!-- do not remove this div, it is closed by doxygen! -->
  16. <div id="titlearea">
  17. <table cellspacing="0" cellpadding="0">
  18. <tbody>
  19. <tr style="height: 56px;">
  20. <td style="padding-left: 0.5em;">
  21. <div id="projectname">Fat-Free Framework
  22. &#160;<span id="projectnumber">3.2.2</span>
  23. &#160;<span class="menu"><a href="index.html">Overview</a> <a href="annotated.html">Class List</a> <a href="hierarchy.html">Hierarchy</a></span>
  24. </div>
  25. </td>
  26. </tr>
  27. </tbody>
  28. </table>
  29. </div>
  30. <!-- end header part -->
  31. <!-- Generated by Doxygen 1.8.6 -->
  32. </div><!-- top -->
  33. <div class="header">
  34. <div class="summary">
  35. <a href="#pub-methods">Public Member Functions</a> &#124;
  36. <a href="#pub-attribs">Public Attributes</a> &#124;
  37. <a href="classBcrypt-members.html">List of all members</a> </div>
  38. <div class="headertitle">
  39. <div class="title">Bcrypt Class Reference</div> </div>
  40. </div><!--header-->
  41. <div class="contents">
  42.  
  43. <p>Lightweight password hashing library.
  44. <a href="classBcrypt.html#details">More...</a></p>
  45. <div id="dynsection-0" onclick="return toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;">
  46. <img id="dynsection-0-trigger" src="closed.png" alt="+"/> Inheritance diagram for Bcrypt:</div>
  47. <div id="dynsection-0-summary" class="dynsummary" style="display:block;">
  48. </div>
  49. <div id="dynsection-0-content" class="dyncontent" style="display:none;">
  50. <div class="center">
  51. <img src="classBcrypt.png" usemap="#Bcrypt_map" alt=""/>
  52. <map id="Bcrypt_map" name="Bcrypt_map">
  53. <area href="classPrefab.html" title="Factory class for single-instance objects. " alt="Prefab" shape="rect" coords="0,0,50,24"/>
  54. </map>
  55. </div></div>
  56. <table class="memberdecls">
  57. <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
  58. Public Member Functions</h2></td></tr>
  59. <tr class="memitem:adfde3babee4bf0fce0c2e161204a9779"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classBcrypt.html#adfde3babee4bf0fce0c2e161204a9779">hash</a> ($pw, $salt=NULL, $cost=self::COST)</td></tr>
  60. <tr class="separator:adfde3babee4bf0fce0c2e161204a9779"><td class="memSeparator" colspan="2">&#160;</td></tr>
  61. <tr class="memitem:a6af12217cde70314d70c26b461a9345c"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classBcrypt.html#a6af12217cde70314d70c26b461a9345c">needs_rehash</a> ($<a class="el" href="classBcrypt.html#adfde3babee4bf0fce0c2e161204a9779">hash</a>, $cost=self::COST)</td></tr>
  62. <tr class="separator:a6af12217cde70314d70c26b461a9345c"><td class="memSeparator" colspan="2">&#160;</td></tr>
  63. <tr class="memitem:a0127bb982943f4e07cd6ea5c068307d7"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classBcrypt.html#a0127bb982943f4e07cd6ea5c068307d7">verify</a> ($pw, $<a class="el" href="classBcrypt.html#adfde3babee4bf0fce0c2e161204a9779">hash</a>)</td></tr>
  64. <tr class="separator:a0127bb982943f4e07cd6ea5c068307d7"><td class="memSeparator" colspan="2">&#160;</td></tr>
  65. </table><table class="memberdecls">
  66. <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-attribs"></a>
  67. Public Attributes</h2></td></tr>
  68. <tr class="memitem:a1585e7ecdf377dbd67387363da582b47"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a1585e7ecdf377dbd67387363da582b47"></a>
  69. const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classBcrypt.html#a1585e7ecdf377dbd67387363da582b47">COST</a> =10</td></tr>
  70. <tr class="memdesc:a1585e7ecdf377dbd67387363da582b47"><td class="mdescLeft">&#160;</td><td class="mdescRight">Default cost. <br/></td></tr>
  71. <tr class="separator:a1585e7ecdf377dbd67387363da582b47"><td class="memSeparator" colspan="2">&#160;</td></tr>
  72. <tr><td colspan="2"><div class="groupHeader"></div></td></tr>
  73. <tr class="memitem:acc5678144b71e7cfc2a3ddab09efb8c4"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="acc5678144b71e7cfc2a3ddab09efb8c4"></a>
  74. const&#160;</td><td class="memItemRight" valign="bottom"><b>E_CostArg</b> ='Invalid cost parameter'</td></tr>
  75. <tr class="separator:acc5678144b71e7cfc2a3ddab09efb8c4"><td class="memSeparator" colspan="2">&#160;</td></tr>
  76. <tr class="memitem:ab5a770850d97011c0a96f85937b67372"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab5a770850d97011c0a96f85937b67372"></a>
  77. const&#160;</td><td class="memItemRight" valign="bottom"><b>E_SaltArg</b> ='Salt must be at least 22 alphanumeric characters'</td></tr>
  78. <tr class="separator:ab5a770850d97011c0a96f85937b67372"><td class="memSeparator" colspan="2">&#160;</td></tr>
  79. </table><table class="memberdecls">
  80. <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="inherited"></a>
  81. Additional Inherited Members</h2></td></tr>
  82. <tr class="inherit_header pub_static_methods_classPrefab"><td colspan="2" onclick="javascript:toggleInherit('pub_static_methods_classPrefab')"><img src="closed.png" alt="-"/>&#160;Static Public Member Functions inherited from <a class="el" href="classPrefab.html">Prefab</a></td></tr>
  83. <tr class="memitem:a459ac539bc012dbdb77abe0d0ebeba76 inherit pub_static_methods_classPrefab"><td class="memItemLeft" align="right" valign="top">static&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPrefab.html#a459ac539bc012dbdb77abe0d0ebeba76">instance</a> ()</td></tr>
  84. <tr class="separator:a459ac539bc012dbdb77abe0d0ebeba76 inherit pub_static_methods_classPrefab"><td class="memSeparator" colspan="2">&#160;</td></tr>
  85. </table>
  86. <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
  87. <div class="textblock"><p>Lightweight password hashing library. </p>
  88. </div><h2 class="groupheader">Member Function Documentation</h2>
  89. <a class="anchor" id="adfde3babee4bf0fce0c2e161204a9779"></a>
  90. <div class="memitem">
  91. <div class="memproto">
  92. <table class="memname">
  93. <tr>
  94. <td class="memname">Bcrypt::hash </td>
  95. <td>(</td>
  96. <td class="paramtype">&#160;</td>
  97. <td class="paramname"><em>$pw</em>, </td>
  98. </tr>
  99. <tr>
  100. <td class="paramkey"></td>
  101. <td></td>
  102. <td class="paramtype">&#160;</td>
  103. <td class="paramname"><em>$salt</em> = <code>NULL</code>, </td>
  104. </tr>
  105. <tr>
  106. <td class="paramkey"></td>
  107. <td></td>
  108. <td class="paramtype">&#160;</td>
  109. <td class="paramname"><em>$cost</em> = <code>self::COST</code>&#160;</td>
  110. </tr>
  111. <tr>
  112. <td></td>
  113. <td>)</td>
  114. <td></td><td></td>
  115. </tr>
  116. </table>
  117. </div><div class="memdoc">
  118. <p>Generate bcrypt hash of string </p>
  119. <dl class="section return"><dt>Returns</dt><dd>string|FALSE </dd></dl>
  120. <dl class="params"><dt>Parameters</dt><dd>
  121. <table class="params">
  122. <tr><td class="paramname">$pw</td><td>string </td></tr>
  123. <tr><td class="paramname">$salt</td><td>string </td></tr>
  124. <tr><td class="paramname">$cost</td><td>int </td></tr>
  125. </table>
  126. </dd>
  127. </dl>
  128.  
  129. </div>
  130. </div>
  131. <a class="anchor" id="a6af12217cde70314d70c26b461a9345c"></a>
  132. <div class="memitem">
  133. <div class="memproto">
  134. <table class="memname">
  135. <tr>
  136. <td class="memname">Bcrypt::needs_rehash </td>
  137. <td>(</td>
  138. <td class="paramtype">&#160;</td>
  139. <td class="paramname"><em>$hash</em>, </td>
  140. </tr>
  141. <tr>
  142. <td class="paramkey"></td>
  143. <td></td>
  144. <td class="paramtype">&#160;</td>
  145. <td class="paramname"><em>$cost</em> = <code>self::COST</code>&#160;</td>
  146. </tr>
  147. <tr>
  148. <td></td>
  149. <td>)</td>
  150. <td></td><td></td>
  151. </tr>
  152. </table>
  153. </div><div class="memdoc">
  154. <p>Check if password is still strong enough </p>
  155. <dl class="section return"><dt>Returns</dt><dd>bool </dd></dl>
  156. <dl class="params"><dt>Parameters</dt><dd>
  157. <table class="params">
  158. <tr><td class="paramname">$hash</td><td>string </td></tr>
  159. <tr><td class="paramname">$cost</td><td>int </td></tr>
  160. </table>
  161. </dd>
  162. </dl>
  163.  
  164. </div>
  165. </div>
  166. <a class="anchor" id="a0127bb982943f4e07cd6ea5c068307d7"></a>
  167. <div class="memitem">
  168. <div class="memproto">
  169. <table class="memname">
  170. <tr>
  171. <td class="memname">Bcrypt::verify </td>
  172. <td>(</td>
  173. <td class="paramtype">&#160;</td>
  174. <td class="paramname"><em>$pw</em>, </td>
  175. </tr>
  176. <tr>
  177. <td class="paramkey"></td>
  178. <td></td>
  179. <td class="paramtype">&#160;</td>
  180. <td class="paramname"><em>$hash</em>&#160;</td>
  181. </tr>
  182. <tr>
  183. <td></td>
  184. <td>)</td>
  185. <td></td><td></td>
  186. </tr>
  187. </table>
  188. </div><div class="memdoc">
  189. <p>Verify password against hash using timing attack resistant approach </p>
  190. <dl class="section return"><dt>Returns</dt><dd>bool </dd></dl>
  191. <dl class="params"><dt>Parameters</dt><dd>
  192. <table class="params">
  193. <tr><td class="paramname">$pw</td><td>string </td></tr>
  194. <tr><td class="paramname">$hash</td><td>string </td></tr>
  195. </table>
  196. </dd>
  197. </dl>
  198.  
  199. </div>
  200. </div>
  201. <hr/>The documentation for this class was generated from the following file:<ul>
  202. <li>bcrypt.php</li>
  203. </ul>
  204. </div><!-- contents -->