| @@ -0,0 +1,60 @@ | |||||
| package Null_Password; | |||||
| import java.security.InvalidKeyException; | |||||
| import java.security.NoSuchAlgorithmException; | |||||
| import java.util.logging.Logger; | |||||
| import javax.crypto.BadPaddingException; | |||||
| import javax.crypto.Cipher; | |||||
| import javax.crypto.IllegalBlockSizeException; | |||||
| import javax.crypto.NoSuchPaddingException; | |||||
| import javax.crypto.spec.SecretKeySpec; | |||||
| public class Null_Password { | |||||
| static final Logger log = Logger.getLogger("logger"); | |||||
| public String bad() { | |||||
| String password = null; // bad null密码 | |||||
| return password; | |||||
| } | |||||
| public String good() | |||||
| { | |||||
| String data = "key"; /* init data */ | |||||
| String sKey = "Skey"; | |||||
| Cipher cipher = null; | |||||
| String pw = ""; | |||||
| try { | |||||
| SecretKeySpec key = new SecretKeySpec(sKey.getBytes(), "AES"); | |||||
| cipher = Cipher.getInstance("AES"); | |||||
| cipher.init(Cipher.DECRYPT_MODE, key); | |||||
| }catch (NoSuchPaddingException e) { | |||||
| log.info("error"); | |||||
| } catch (NoSuchAlgorithmException e) { | |||||
| log.info("error"); | |||||
| } catch (InvalidKeyException e) { | |||||
| log.info("InvalidKeyException"); | |||||
| } | |||||
| try { | |||||
| if(cipher != null){ | |||||
| pw = new String(cipher.doFinal(data.getBytes())); | |||||
| } | |||||
| } catch (IllegalBlockSizeException e) { | |||||
| log.info("error"); | |||||
| } catch (BadPaddingException e) { | |||||
| log.info("error"); | |||||
| } | |||||
| String password = pw; // good null密码 | |||||
| return password; | |||||
| } | |||||
| } | |||||