1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package org.apache.syncope.common.lib.types;
20
21 public enum CipherAlgorithm {
22
23 SHA("SHA-1", false),
24 SHA1("SHA-1", false),
25 SHA256("SHA-256", false),
26 SHA512("SHA-512", false),
27 AES("AES", true),
28 SMD5("S-MD5", false),
29 SSHA("S-SHA-1", false),
30 SSHA1("S-SHA-1", false),
31 SSHA256("S-SHA-256", false),
32 SSHA512("S-SHA-512", false),
33 BCRYPT("BCRYPT", false);
34
35 private final String algorithm;
36
37 private final boolean invertible;
38
39 CipherAlgorithm(final String algorithm, final boolean invertible) {
40 this.algorithm = algorithm;
41 this.invertible = invertible;
42 }
43
44 public String getAlgorithm() {
45 return algorithm;
46 }
47
48 public boolean isInvertible() {
49 return invertible;
50 }
51
52 public boolean isSalted() {
53 return algorithm.startsWith("S-");
54 }
55 }