#1138 Show warning for hashes that will be deprecated in 5.4

- Introduce Usage.DEPRECATED to mark the hash algorithms accordingly
- Log warning when such a deprecated hash algorithm is used
- Update hash algorithms doc page
This commit is contained in:
ljacqu
2017-03-25 00:23:54 +01:00
parent b7901c6b59
commit c54231b255
11 changed files with 146 additions and 12 deletions
@@ -1,7 +1,11 @@
package fr.xephi.authme.security.crypts;
import fr.xephi.authme.security.crypts.description.Recommendation;
import fr.xephi.authme.security.crypts.description.Usage;
import static fr.xephi.authme.security.HashUtils.md5;
@Recommendation(Usage.DEPRECATED)
public class DoubleMd5 extends UnsaltedMethod {
@Override
@@ -1,7 +1,10 @@
package fr.xephi.authme.security.crypts;
import fr.xephi.authme.security.HashUtils;
import fr.xephi.authme.security.crypts.description.Recommendation;
import fr.xephi.authme.security.crypts.description.Usage;
@Recommendation(Usage.DEPRECATED)
public class Md5 extends UnsaltedMethod {
@Override
@@ -1,11 +1,15 @@
package fr.xephi.authme.security.crypts;
import fr.xephi.authme.security.crypts.description.Recommendation;
import fr.xephi.authme.security.crypts.description.Usage;
/**
* Plaintext password storage.
*
* @deprecated Using this is no longer supported. AuthMe will migrate to SHA256 on startup.
*/
@Deprecated
@Recommendation(Usage.DEPRECATED)
public class PlainText extends UnsaltedMethod {
@Override
@@ -1,7 +1,10 @@
package fr.xephi.authme.security.crypts;
import fr.xephi.authme.security.HashUtils;
import fr.xephi.authme.security.crypts.description.Recommendation;
import fr.xephi.authme.security.crypts.description.Usage;
@Recommendation(Usage.DEPRECATED)
public class Sha1 extends UnsaltedMethod {
@Override
@@ -1,7 +1,10 @@
package fr.xephi.authme.security.crypts;
import fr.xephi.authme.security.HashUtils;
import fr.xephi.authme.security.crypts.description.Recommendation;
import fr.xephi.authme.security.crypts.description.Usage;
@Recommendation(Usage.DEPRECATED)
public class Sha512 extends UnsaltedMethod {
@Override
@@ -59,8 +59,12 @@ package fr.xephi.authme.security.crypts;
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
import fr.xephi.authme.security.crypts.description.Recommendation;
import fr.xephi.authme.security.crypts.description.Usage;
import java.util.Arrays;
@Recommendation(Usage.DEPRECATED)
public class Whirlpool extends UnsaltedMethod {
/**
@@ -20,6 +20,9 @@ public enum Usage {
/** Hash algorithm is not recommended to be used. Use only if required by another system. */
DO_NOT_USE,
/** Algorithm that is or will be no longer supported actively. */
DEPRECATED,
/** The algorithm does not work properly; do not use. */
DOES_NOT_WORK