001package org.apache.archiva.redback.policy.encoders;
002
003/*
004 * Copyright 2001-2006 The Apache Software Foundation.
005 *
006 * Licensed under the Apache License, Version 2.0 (the "License");
007 * you may not use this file except in compliance with the License.
008 * You may obtain a copy of the License at
009 *
010 *      http://www.apache.org/licenses/LICENSE-2.0
011 *
012 * Unless required by applicable law or agreed to in writing, software
013 * distributed under the License is distributed on an "AS IS" BASIS,
014 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
015 * See the License for the specific language governing permissions and
016 * limitations under the License.
017 */
018
019import org.apache.archiva.redback.policy.PasswordEncoder;
020import org.springframework.stereotype.Service;
021
022/**
023 * PlainText PasswordEncoder for use in situtations where the password needs to be saved as-is.
024 * See {@link PasswordEncoder#encodePassword(String)} for details.
025 *
026 * @author <a href="mailto:joakim@erdfelt.com">Joakim Erdfelt</a>
027 *
028 */
029@Service("passwordEncoder#plaintext")
030public class PlainTextPasswordEncoder
031    implements PasswordEncoder
032{
033
034    public String encodePassword( String rawPass )
035    {
036        return rawPass;
037    }
038
039    public String encodePassword( String rawPass, Object salt )
040    {
041        return rawPass;
042    }
043
044    public boolean isPasswordValid( String encPass, String rawPass )
045    {
046        if ( encPass == null && rawPass != null )
047        {
048            return false;
049        }
050
051        return encPass.equals( rawPass );
052    }
053
054    public boolean isPasswordValid( String encPass, String rawPass, Object salt )
055    {
056        return isPasswordValid( encPass, rawPass );
057    }
058
059    public void setSystemSalt( Object salt )
060    {
061        // Ignore, not used in this plaintext encoder.
062    }
063}