<!DOCTYPE HTML>
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc -->
<title>HashingPasswordService (Apache Shiro :: Core 1.12.0 API)</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
<link rel="stylesheet" type="text/css" href="../../../../../jquery/jquery-ui.min.css" title="Style">
<link rel="stylesheet" type="text/css" href="../../../../../jquery-ui.overrides.css" title="Style">
<script type="text/javascript" src="../../../../../script.js"></script>
<script type="text/javascript" src="../../../../../jquery/jszip/dist/jszip.min.js"></script>
<script type="text/javascript" src="../../../../../jquery/jszip-utils/dist/jszip-utils.min.js"></script>
<!--[if IE]>
<script type="text/javascript" src="../../../../../jquery/jszip-utils/dist/jszip-utils-ie.min.js"></script>
<![endif]-->
<script type="text/javascript" src="../../../../../jquery/jquery-3.6.0.min.js"></script>
<script type="text/javascript" src="../../../../../jquery/jquery-ui.min.js"></script>
</head>
<body>
<script type="text/javascript"><!--
    try {
        if (location.href.indexOf('is-external=true') == -1) {
            parent.document.title="HashingPasswordService (Apache Shiro :: Core 1.12.0 API)";
        }
    }
    catch(err) {
    }
//-->
var data = {"i0":6,"i1":6};
var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
var tableTab = "tableTab";
var activeTableTab = "activeTableTab";
var pathtoroot = "../../../../../";
var useModuleDirectories = true;
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<header role="banner">
<nav role="navigation">
<div class="fixedNav"><!-- Matomo --> <script>   var _paq = window._paq = window._paq || [];   /* tracker methods like "setCustomDimension" should be called before "trackPageView" */   /* We explicitly disable cookie tracking to avoid privacy issues */   _paq.push(['disableCookies']);   _paq.push(['trackPageView']);   _paq.push(['enableLinkTracking']);   (function() {     var u="//matomo.privacy.apache.org/";     _paq.push(['setTrackerUrl', u+'matomo.php']);     _paq.push(['setSiteId', '2']);     var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0];     g.async=true; g.src=u+'matomo.js'; s.parentNode.insertBefore(g,s);   })(); </script> <!-- End Matomo Code -->
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a id="navbar.top">
<!--   -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a id="navbar.top.firstrow">
<!--   -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../index.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/HashingPasswordService.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../../allclasses.html">All&nbsp;Classes</a></li>
</ul>
<ul class="navListSearch">
<li><label for="search">SEARCH:</label>
<input type="text" id="search" value="search" disabled="disabled">
<input type="reset" id="reset" value="reset" disabled="disabled">
</li>
</ul>
<div>
<script type="text/javascript"><!--
  allClassesLink = document.getElementById("allclasses_navbar_top");
  if(window==top) {
    allClassesLink.style.display = "block";
  }
  else {
    allClassesLink.style.display = "none";
  }
  //-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a id="skip.navbar.top">
<!--   -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
</div>
<div class="navPadding">&nbsp;</div>
<script type="text/javascript"><!--
$('.navPadding').css('padding-top', $('.fixedNav').css("height"));
//-->
</script>
</nav>
</header>
<!-- ======== START OF CLASS DATA ======== -->
<main role="main">
<div class="header">
<div class="subTitle"><span class="packageLabelInType">Package</span>&nbsp;<a href="package-summary.html">org.apache.shiro.authc.credential</a></div>
<h2 title="Interface HashingPasswordService" class="title">Interface HashingPasswordService</h2>
</div>
<div class="contentContainer">
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Superinterfaces:</dt>
<dd><code><a href="PasswordService.html" title="interface in org.apache.shiro.authc.credential">PasswordService</a></code></dd>
</dl>
<dl>
<dt>All Known Implementing Classes:</dt>
<dd><code><a href="DefaultPasswordService.html" title="class in org.apache.shiro.authc.credential">DefaultPasswordService</a></code></dd>
</dl>
<hr>
<pre>public interface <a href="../../../../../src-html/org/apache/shiro/authc/credential/HashingPasswordService.html#line.30">HashingPasswordService</a>
extends <a href="PasswordService.html" title="interface in org.apache.shiro.authc.credential">PasswordService</a></pre>
<div class="block">A <code>HashingPasswordService</code> is a <a href="PasswordService.html" title="interface in org.apache.shiro.authc.credential"><code>PasswordService</code></a> that performs password encryption and comparisons
 based on cryptographic <code>Hash</code>es.</div>
<dl>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>1.2</dd>
</dl>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ========== METHOD SUMMARY =========== -->
<section>
<ul class="blockList">
<li class="blockList"><a id="method.summary">
<!--   -->
</a>
<h3>Method Summary</h3>
<table class="memberSummary">
<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t3" class="tableTab"><span><a href="javascript:show(4);">Abstract Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Method</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tr id="i0" class="altColor">
<td class="colFirst"><code>org.apache.shiro.crypto.hash.Hash</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#hashPassword(java.lang.Object)">hashPassword</a></span>&#8203;(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang" class="externalLink">Object</a>&nbsp;plaintext)</code></th>
<td class="colLast">
<div class="block">Hashes the specified plaintext password using internal hashing configuration settings pertinent to password
 hashing.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#passwordsMatch(java.lang.Object,org.apache.shiro.crypto.hash.Hash)">passwordsMatch</a></span>&#8203;(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang" class="externalLink">Object</a>&nbsp;plaintext,
              org.apache.shiro.crypto.hash.Hash&nbsp;savedPasswordHash)</code></th>
<td class="colLast">
<div class="block">Returns <code>true</code> if the <code>submittedPlaintext</code> password matches the existing <code>savedPasswordHash</code>,
 <code>false</code> otherwise.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a id="methods.inherited.from.class.org.apache.shiro.authc.credential.PasswordService">
<!--   -->
</a>
<h3>Methods inherited from interface&nbsp;org.apache.shiro.authc.credential.<a href="PasswordService.html" title="interface in org.apache.shiro.authc.credential">PasswordService</a></h3>
<code><a href="PasswordService.html#encryptPassword(java.lang.Object)">encryptPassword</a>, <a href="PasswordService.html#passwordsMatch(java.lang.Object,java.lang.String)">passwordsMatch</a></code></li>
</ul>
</li>
</ul>
</section>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ METHOD DETAIL ========== -->
<section>
<ul class="blockList">
<li class="blockList"><a id="method.detail">
<!--   -->
</a>
<h3>Method Detail</h3>
<a id="hashPassword(java.lang.Object)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>hashPassword</h4>
<pre class="methodSignature">org.apache.shiro.crypto.hash.Hash&nbsp;<a href="../../../../../src-html/org/apache/shiro/authc/credential/HashingPasswordService.html#line.68">hashPassword</a>&#8203;(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang" class="externalLink">Object</a>&nbsp;plaintext)
                                        throws <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang" class="externalLink">IllegalArgumentException</a></pre>
<div class="block">Hashes the specified plaintext password using internal hashing configuration settings pertinent to password
 hashing.
 <p/>
 Note
 that this method is only likely to be used in more complex environments that wish to format and/or save the
 returned <code>Hash</code> object in a custom manner.  Most applications will find the
 <a href="PasswordService.html#encryptPassword(java.lang.Object)"><code>encryptPassword</code></a> method suitable enough for safety
 and ease-of-use.
 <h3>Usage</h3>
 The input argument type can be any 'byte backed' <code>Object</code> - almost always either a
 String or character array representing passwords (character arrays are often a safer way to represent passwords
 as they can be cleared/nulled-out after use.  Any argument type supported by
 <code>ByteSource.Util.isCompatible(Object)</code> is valid.
 <p/>
 Regardless of your choice of using Strings or character arrays to represent submitted passwords, you can wrap
 either as a <code>ByteSource</code> by using <code>ByteSource.Util</code>, for example, when the passwords are captured as
 Strings:
 <pre>
 ByteSource passwordBytes = ByteSource.Util.bytes(submittedPasswordString);
 Hash hashedPassword = hashingPasswordService.hashPassword(passwordBytes);
 </pre>
 or, identically, when captured as a character array:
 <pre>
 ByteSource passwordBytes = ByteSource.Util.bytes(submittedPasswordCharacterArray);
 Hash hashedPassword = hashingPasswordService.hashPassword(passwordBytes);
 </pre></div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>plaintext</code> - the raw password as 'byte-backed' object (String, character array, <code>ByteSource</code>,
                  etc) usually acquired from your application's 'new user' or 'password reset' workflow.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the hashed password.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang" class="externalLink">IllegalArgumentException</a></code> - if the argument cannot be easily converted to bytes as defined by
                                  <code>ByteSource.Util.isCompatible(Object)</code>.</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><code>ByteSource.Util.isCompatible(Object)</code>, 
<a href="PasswordService.html#encryptPassword(java.lang.Object)"><code>PasswordService.encryptPassword(Object)</code></a></dd>
</dl>
</li>
</ul>
<a id="passwordsMatch(java.lang.Object,org.apache.shiro.crypto.hash.Hash)">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>passwordsMatch</h4>
<pre class="methodSignature">boolean&nbsp;<a href="../../../../../src-html/org/apache/shiro/authc/credential/HashingPasswordService.html#line.90">passwordsMatch</a>&#8203;(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang" class="externalLink">Object</a>&nbsp;plaintext,
                       org.apache.shiro.crypto.hash.Hash&nbsp;savedPasswordHash)</pre>
<div class="block">Returns <code>true</code> if the <code>submittedPlaintext</code> password matches the existing <code>savedPasswordHash</code>,
 <code>false</code> otherwise.  Note that this method is only likely to be used in more complex environments that
 save hashes in a custom manner.  Most applications will find the
 <a href="PasswordService.html#passwordsMatch(java.lang.Object,java.lang.String)"><code>passwordsMatch(plaintext,string)</code></a> method
 sufficient if <a href="PasswordService.html#encryptPassword(java.lang.Object)"><code>encrypting passwords as Strings</code></a>.
 <h3>Usage</h3>
 The <code>submittedPlaintext</code> argument type can be any 'byte backed' <code>Object</code> - almost always either a
 String or character array representing passwords (character arrays are often a safer way to represent passwords
 as they can be cleared/nulled-out after use.  Any argument type supported by
 <code>ByteSource.Util.isCompatible(Object)</code> is valid.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>plaintext</code> - a raw/plaintext password submitted by an end user/Subject.</dd>
<dd><code>savedPasswordHash</code> - the previously hashed password known to be associated with an account.
                           This value is expected to have been previously generated from the
                           <a href="#hashPassword(java.lang.Object)"><code>hashPassword</code></a> method (typically
                           when the account is created or the account's password is reset).</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd><code>true</code> if the <code>plaintext</code> password matches the existing <code>savedPasswordHash</code>,
         <code>false</code> otherwise.</dd>
</dl>
</li>
</ul>
</li>
</ul>
</section>
</li>
</ul>
</div>
</div>
</main>
<!-- ========= END OF CLASS DATA ========= -->
<footer role="contentinfo">
<nav role="navigation">
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a id="navbar.bottom">
<!--   -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a id="navbar.bottom.firstrow">
<!--   -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../index.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/HashingPasswordService.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../../allclasses.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
  allClassesLink = document.getElementById("allclasses_navbar_bottom");
  if(window==top) {
    allClassesLink.style.display = "block";
  }
  else {
    allClassesLink.style.display = "none";
  }
  //-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a id="skip.navbar.bottom">
<!--   -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</nav>
<p class="legalCopy"><small>Copyright &#169; 2004&#x2013;2023 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
</footer>
</body>
</html>
