3333import javax .crypto .spec .PBEKeySpec ;
3434import java .util .HashSet ;
3535import java .util .Locale ;
36+ import java .util .Set ;
3637
3738/**
3839 * This class implements a key factory for PBE keys according to PKCS#5,
4647abstract class PBEKeyFactory extends SecretKeyFactorySpi {
4748
4849 private String type ;
49- private static HashSet <String > validTypes ;
50+ private static final HashSet <String > validTypes ;
5051
5152 /**
5253 * Simple constructor
@@ -56,29 +57,29 @@ private PBEKeyFactory(String keytype) {
5657 }
5758
5859 static {
59- validTypes = HashSet . newHashSet ( 17 );
60- validTypes . add ("PBEWithMD5AndDES" .toUpperCase (Locale .ENGLISH ));
61- validTypes . add ( "PBEWithSHA1AndDESede" .toUpperCase (Locale .ENGLISH ));
62- validTypes . add ( "PBEWithSHA1AndRC2_40" .toUpperCase (Locale .ENGLISH ));
63- validTypes . add ( "PBEWithSHA1AndRC2_128" .toUpperCase (Locale .ENGLISH ));
64- validTypes . add ( "PBEWithSHA1AndRC4_40" .toUpperCase (Locale .ENGLISH ));
65- validTypes . add ( "PBEWithSHA1AndRC4_128" .toUpperCase (Locale .ENGLISH ));
66- // Proprietary algorithm.
67- validTypes . add ( "PBEWithMD5AndTripleDES" .toUpperCase (Locale .ENGLISH ));
68- validTypes . add ( "PBEWithHmacSHA1AndAES_128" .toUpperCase (Locale .ENGLISH ));
69- validTypes . add ( "PBEWithHmacSHA224AndAES_128" .toUpperCase (Locale .ENGLISH ));
70- validTypes . add ( "PBEWithHmacSHA256AndAES_128" .toUpperCase (Locale .ENGLISH ));
71- validTypes . add ( "PBEWithHmacSHA384AndAES_128" .toUpperCase (Locale .ENGLISH ));
72- validTypes . add ( "PBEWithHmacSHA512AndAES_128" .toUpperCase (Locale .ENGLISH ));
73- validTypes . add ( "PBEWithHmacSHA512/224AndAES_128" .toUpperCase (Locale .ENGLISH ));
74- validTypes . add ( "PBEWithHmacSHA512/256AndAES_128" .toUpperCase (Locale .ENGLISH ));
75- validTypes . add ( "PBEWithHmacSHA1AndAES_256" .toUpperCase (Locale .ENGLISH ));
76- validTypes . add ( "PBEWithHmacSHA224AndAES_256" .toUpperCase (Locale .ENGLISH ));
77- validTypes . add ( "PBEWithHmacSHA256AndAES_256" .toUpperCase (Locale .ENGLISH ));
78- validTypes . add ( "PBEWithHmacSHA384AndAES_256" .toUpperCase (Locale .ENGLISH ));
79- validTypes . add ( "PBEWithHmacSHA512AndAES_256" .toUpperCase (Locale .ENGLISH ));
80- validTypes . add ( "PBEWithHmacSHA512/224AndAES_256" .toUpperCase (Locale .ENGLISH ));
81- validTypes . add ( "PBEWithHmacSHA512/256AndAES_256" .toUpperCase (Locale .ENGLISH ));
60+ validTypes = new HashSet < String >(
61+ Set . of ("PBEWithMD5AndDES" .toUpperCase (Locale .ENGLISH ),
62+ "PBEWithSHA1AndDESede" .toUpperCase (Locale .ENGLISH ),
63+ "PBEWithSHA1AndRC2_40" .toUpperCase (Locale .ENGLISH ),
64+ "PBEWithSHA1AndRC2_128" .toUpperCase (Locale .ENGLISH ),
65+ "PBEWithSHA1AndRC4_40" .toUpperCase (Locale .ENGLISH ),
66+ "PBEWithSHA1AndRC4_128" .toUpperCase (Locale .ENGLISH ),
67+ // Proprietary algorithm.
68+ "PBEWithMD5AndTripleDES" .toUpperCase (Locale .ENGLISH ),
69+ "PBEWithHmacSHA1AndAES_128" .toUpperCase (Locale .ENGLISH ),
70+ "PBEWithHmacSHA224AndAES_128" .toUpperCase (Locale .ENGLISH ),
71+ "PBEWithHmacSHA256AndAES_128" .toUpperCase (Locale .ENGLISH ),
72+ "PBEWithHmacSHA384AndAES_128" .toUpperCase (Locale .ENGLISH ),
73+ "PBEWithHmacSHA512AndAES_128" .toUpperCase (Locale .ENGLISH ),
74+ "PBEWithHmacSHA512/224AndAES_128" .toUpperCase (Locale .ENGLISH ),
75+ "PBEWithHmacSHA512/256AndAES_128" .toUpperCase (Locale .ENGLISH ),
76+ "PBEWithHmacSHA1AndAES_256" .toUpperCase (Locale .ENGLISH ),
77+ "PBEWithHmacSHA224AndAES_256" .toUpperCase (Locale .ENGLISH ),
78+ "PBEWithHmacSHA256AndAES_256" .toUpperCase (Locale .ENGLISH ),
79+ "PBEWithHmacSHA384AndAES_256" .toUpperCase (Locale .ENGLISH ),
80+ "PBEWithHmacSHA512AndAES_256" .toUpperCase (Locale .ENGLISH ),
81+ "PBEWithHmacSHA512/224AndAES_256" .toUpperCase (Locale .ENGLISH ),
82+ "PBEWithHmacSHA512/256AndAES_256" .toUpperCase (Locale .ENGLISH ) ));
8283 }
8384
8485 public static final class PBEWithMD5AndDES extends PBEKeyFactory {
0 commit comments