blob: e2b0fee0bbab112efb892fa0fd07abeb5ef9b12e [file] [log] [blame]
<!DOCTYPE HTML>
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc -->
<title>AbstractJAASPasswordEncoder (Apache Archiva Redback 3.0.0-SNAPSHOT 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.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.5.1.js"></script>
<script type="text/javascript" src="../../../../../../jquery/jquery-ui.js"></script>
</head>
<body>
<script type="text/javascript"><!--
try {
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="AbstractJAASPasswordEncoder (Apache Archiva Redback 3.0.0-SNAPSHOT API)";
}
}
catch(err) {
}
//-->
var data = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10};
var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete 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">
<!-- ========= 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/AbstractJAASPasswordEncoder.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><a href="#constructor.summary">Constr</a>&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><a href="#constructor.detail">Constr</a>&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.archiva.redback.policy.encoders</a></div>
<h2 title="Class AbstractJAASPasswordEncoder" class="title">Class AbstractJAASPasswordEncoder</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li><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">java.lang.Object</a></li>
<li>
<ul class="inheritance">
<li>org.apache.archiva.redback.policy.encoders.AbstractJAASPasswordEncoder</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Implemented Interfaces:</dt>
<dd><code><a href="../PasswordEncoder.html" title="interface in org.apache.archiva.redback.policy">PasswordEncoder</a></code></dd>
</dl>
<dl>
<dt>Direct Known Subclasses:</dt>
<dd><code><a href="SHA1PasswordEncoder.html" title="class in org.apache.archiva.redback.policy.encoders">SHA1PasswordEncoder</a></code>, <code><a href="SHA256PasswordEncoder.html" title="class in org.apache.archiva.redback.policy.encoders">SHA256PasswordEncoder</a></code></dd>
</dl>
<hr>
<pre>public class <a href="../../../../../../src-html/org/apache/archiva/redback/policy/encoders/AbstractJAASPasswordEncoder.html#line.34">AbstractJAASPasswordEncoder</a>
extends <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>
implements <a href="../PasswordEncoder.html" title="interface in org.apache.archiva.redback.policy">PasswordEncoder</a></pre>
<div class="block">Abstract Password Encoder that uses the <a href="https://docs.oracle.com/javase/8/docs/api/java/security/MessageDigest.html?is-external=true" title="class or interface in java.security" class="externalLink"><code>MessageDigest</code></a> from JAAS.</div>
<dl>
<dt><span class="simpleTagLabel">Author:</span></dt>
<dd><a href="mailto:joakim@erdfelt.com">Joakim Erdfelt</a></dd>
</dl>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="constructor.summary">
<!-- -->
</a>
<h3>Constructor Summary</h3>
<table class="memberSummary">
<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Constructor</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tr class="altColor">
<th class="colConstructorName" scope="row"><code><span class="memberNameLink"><a href="#%3Cinit%3E(java.lang.String)">AbstractJAASPasswordEncoder</a></span>&#8203;(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;algorithm)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
</table>
</li>
</ul>
</section>
<!-- ========== METHOD SUMMARY =========== -->
<section role="region">
<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="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete 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><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#encodePassword(java.lang.String)">encodePassword</a></span>&#8203;(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;rawPass)</code></th>
<td class="colLast">
<div class="block">
Encodes the specified raw password with an implementation specific algorithm, using the system wide salt.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#encodePassword(java.lang.String,java.lang.Object)">encodePassword</a></span>&#8203;(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;rawPass,
<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;salt)</code></th>
<td class="colLast">
<div class="block">
Encodes the specified raw password with an implementation specific algorithm, using user specific salt.</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#isPasswordValid(java.lang.String,java.lang.String)">isPasswordValid</a></span>&#8203;(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;encPass,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;rawPass)</code></th>
<td class="colLast">
<div class="block">
Validates a specified "raw" password against an encoded password, using the system wide salt.</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#isPasswordValid(java.lang.String,java.lang.String,java.lang.Object)">isPasswordValid</a></span>&#8203;(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;encPass,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;rawPass,
<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;salt)</code></th>
<td class="colLast">
<div class="block">
Validates a specified "raw" password against an encoded password, using a user specific salt.</div>
</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setSystemSalt(java.lang.Object)">setSystemSalt</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;salt)</code></th>
<td class="colLast">
<div class="block">
Sets the system wide salt to use in the encoder.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a id="methods.inherited.from.class.java.lang.Object">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;java.lang.<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></h3>
<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang" class="externalLink">clone</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang" class="externalLink">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang" class="externalLink">finalize</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang" class="externalLink">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang" class="externalLink">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang" class="externalLink">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang" class="externalLink">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang" class="externalLink">toString</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang" class="externalLink">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang" class="externalLink">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait(long,int)" title="class or interface in java.lang" class="externalLink">wait</a></code></li>
</ul>
</li>
</ul>
</section>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="constructor.detail">
<!-- -->
</a>
<h3>Constructor Detail</h3>
<a id="&lt;init&gt;(java.lang.String)">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>AbstractJAASPasswordEncoder</h4>
<pre>public&nbsp;<a href="../../../../../../src-html/org/apache/archiva/redback/policy/encoders/AbstractJAASPasswordEncoder.html#line.41">AbstractJAASPasswordEncoder</a>&#8203;(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;algorithm)</pre>
</li>
</ul>
</li>
</ul>
</section>
<!-- ============ METHOD DETAIL ========== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="method.detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a id="setSystemSalt(java.lang.Object)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setSystemSalt</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/archiva/redback/policy/encoders/AbstractJAASPasswordEncoder.html#line.46">setSystemSalt</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;salt)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../PasswordEncoder.html#setSystemSalt(java.lang.Object)">PasswordEncoder</a></code></span></div>
<div class="block"><p>
Sets the system wide salt to use in the encoder.
</p>
<p>
The specified salt will potentially be used by the implementation to "salt" the initial value before
encoding. A salt is usually a user-specific value which is added to the password before the digest is computed.
This means that computation of digests for common dictionary words will be different than those in the backend
store, because the dictionary word digests will not reflect the addition of the salt. If a per-user salt is
used (rather than a system-wide salt), it also means users with the same password will have different digest
encoded passwords in the backend store.
</p></div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../PasswordEncoder.html#setSystemSalt(java.lang.Object)">setSystemSalt</a></code>&nbsp;in interface&nbsp;<code><a href="../PasswordEncoder.html" title="interface in org.apache.archiva.redback.policy">PasswordEncoder</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>salt</code> - the salt to use as a default for the encoder.</dd>
</dl>
</li>
</ul>
<a id="encodePassword(java.lang.String,java.lang.Object)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>encodePassword</h4>
<pre class="methodSignature">public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;<a href="../../../../../../src-html/org/apache/archiva/redback/policy/encoders/AbstractJAASPasswordEncoder.html#line.51">encodePassword</a>&#8203;(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;rawPass,
<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;salt)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../PasswordEncoder.html#encodePassword(java.lang.String,java.lang.Object)">PasswordEncoder</a></code></span></div>
<div class="block"><p>
Encodes the specified raw password with an implementation specific algorithm, using user specific salt.
</p>
<p>
This will generally be a one-way message digest such as MD5 or SHA, but may also be a plaintext
variant which does no encoding at all, but rather returns the same password it was fed. The latter is useful to
plug in when the original password must be stored as-is.
</p>
<p>
The specified salt will potentially be used by the implementation to "salt" the initial value before
encoding. A salt is usually a user-specific value which is added to the password before the digest is computed.
This means that computation of digests for common dictionary words will be different than those in the backend
store, because the dictionary word digests will not reflect the addition of the salt. If a per-user salt is
used (rather than a system-wide salt), it also means users with the same password will have different digest
encoded passwords in the backend store.
</p></div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../PasswordEncoder.html#encodePassword(java.lang.String,java.lang.Object)">encodePassword</a></code>&nbsp;in interface&nbsp;<code><a href="../PasswordEncoder.html" title="interface in org.apache.archiva.redback.policy">PasswordEncoder</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>rawPass</code> - the password to encode</dd>
<dd><code>salt</code> - optionally used by the implementation to "salt" the raw password before encoding.
A <code>null</code> value is legal.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>encoded password</dd>
</dl>
</li>
</ul>
<a id="isPasswordValid(java.lang.String,java.lang.String,java.lang.Object)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isPasswordValid</h4>
<pre class="methodSignature">public&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/archiva/redback/policy/encoders/AbstractJAASPasswordEncoder.html#line.84">isPasswordValid</a>&#8203;(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;encPass,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;rawPass,
<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;salt)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../PasswordEncoder.html#isPasswordValid(java.lang.String,java.lang.String,java.lang.Object)">PasswordEncoder</a></code></span></div>
<div class="block"><p>
Validates a specified "raw" password against an encoded password, using a user specific salt.
</p>
<p>
The encoded password should have previously been generated by <a href="../PasswordEncoder.html#encodePassword(java.lang.String,java.lang.Object)"><code>PasswordEncoder.encodePassword(String,
Object)</code></a>. This method will encode the <code>rawPass</code> (using the optional <code>salt</code>), and then
compared it with the presented <code>encPass</code>.
</p>
<p>
For a discussion of salts, please refer to <a href="../PasswordEncoder.html#encodePassword(java.lang.String,java.lang.Object)"><code>PasswordEncoder.encodePassword(String, Object)</code></a>.
</p></div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../PasswordEncoder.html#isPasswordValid(java.lang.String,java.lang.String,java.lang.Object)">isPasswordValid</a></code>&nbsp;in interface&nbsp;<code><a href="../PasswordEncoder.html" title="interface in org.apache.archiva.redback.policy">PasswordEncoder</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>encPass</code> - a pre-encoded password</dd>
<dd><code>rawPass</code> - a raw password to encode and compare against the pre-encoded password</dd>
<dd><code>salt</code> - optionally used by the implementation to "salt" the raw password before encoding. A
<code>null</code> value is legal.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>true if the password is valid , false otherwise</dd>
</dl>
</li>
</ul>
<a id="encodePassword(java.lang.String)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>encodePassword</h4>
<pre class="methodSignature">public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;<a href="../../../../../../src-html/org/apache/archiva/redback/policy/encoders/AbstractJAASPasswordEncoder.html#line.104">encodePassword</a>&#8203;(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;rawPass)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../PasswordEncoder.html#encodePassword(java.lang.String)">PasswordEncoder</a></code></span></div>
<div class="block"><p>
Encodes the specified raw password with an implementation specific algorithm, using the system wide salt.
</p>
<p>
This will generally be a one-way message digest such as MD5 or SHA, but may also be a plaintext
variant which does no encoding at all, but rather returns the same password it was fed. The latter is useful to
plug in when the original password must be stored as-is.
</p></div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../PasswordEncoder.html#encodePassword(java.lang.String)">encodePassword</a></code>&nbsp;in interface&nbsp;<code><a href="../PasswordEncoder.html" title="interface in org.apache.archiva.redback.policy">PasswordEncoder</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>rawPass</code> - the password to encode</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>encoded password</dd>
</dl>
</li>
</ul>
<a id="isPasswordValid(java.lang.String,java.lang.String)">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>isPasswordValid</h4>
<pre class="methodSignature">public&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/archiva/redback/policy/encoders/AbstractJAASPasswordEncoder.html#line.109">isPasswordValid</a>&#8203;(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;encPass,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;rawPass)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../PasswordEncoder.html#isPasswordValid(java.lang.String,java.lang.String)">PasswordEncoder</a></code></span></div>
<div class="block"><p>
Validates a specified "raw" password against an encoded password, using the system wide salt.
</p>
<p>
The encoded password should have previously been generated by <a href="../PasswordEncoder.html#encodePassword(java.lang.String)"><code>PasswordEncoder.encodePassword(String)</code></a>.
This method will encode the <code>rawPass</code> (using the system wide <code>salt</code>), and then
compared it with the presented <code>encPass</code>.
</p>
<p>
For an explanation of salts, please refer to <a href="../PasswordEncoder.html#setSystemSalt(java.lang.Object)"><code>PasswordEncoder.setSystemSalt(Object)</code></a>.
</p></div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../PasswordEncoder.html#isPasswordValid(java.lang.String,java.lang.String)">isPasswordValid</a></code>&nbsp;in interface&nbsp;<code><a href="../PasswordEncoder.html" title="interface in org.apache.archiva.redback.policy">PasswordEncoder</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>encPass</code> - a pre-encoded password</dd>
<dd><code>rawPass</code> - a raw password to encode and compare against the pre-encoded password</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>true if the password is valid , false 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/AbstractJAASPasswordEncoder.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><a href="#constructor.summary">Constr</a>&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><a href="#constructor.detail">Constr</a>&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; 2006&#x2013;2022 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
</footer>
</body>
</html>