package org.bouncycastle.crypto; /** * Standard char[] to byte[] converters for password based derivation algorithms. */ public enum PasswordConverter implements CharToByteConverter { /** * Do a straight char[] to 8 bit conversion. */ ASCII { public String getType() { return "ASCII"; } public byte[] convert(char[] password) { return PBEParametersGenerator.PKCS5PasswordToBytes(password); } }, /** * Do a char[] conversion by producing UTF-8 data. */ UTF8 { public String getType() { return "UTF8"; } public byte[] convert(char[] password) { return PBEParametersGenerator.PKCS5PasswordToUTF8Bytes(password); } }, /** * Do char[] to BMP conversion (i.e. 2 bytes per character). */ PKCS12 { public String getType() { return "PKCS12"; } public byte[] convert(char[] password) { return PBEParametersGenerator.PKCS12PasswordToBytes(password); } }; }