Java捕获异常密码_Java密码NoSuchPaddingException

从GeneralSecurityException扩展的异常(包括NoSuchPaddingException和NoSuchAlgorithmException)是已检查的异常.已检查的异常是必须用Java处理的异常.您可以通过多种方式处理异常:

>在您的方法中添加throws子句;

>使用原始原因将其捕获并在其周围包装一个RuntimeException(基本上以无需处理的方式升级异常,通常会导致应用程序失败);

>抓住它,对它做一些有用的事情,然后继续前进.

通常,对于NoSuchAlgorithmException和NoSuchPaddingException,您可以将异常升级到RuntimeException,例如IllegalStateException.通常,您的算法字符串保持静态,并且需要Java运行时环境支持“ AES / CBC / PKCS5Padding”,因此,仅在出现严重错误时才发生此异常.

如果不想单独处理这些异常,则可以捕获GeneralSecurityException或使用multi catch子句.解密方法期间的BadPaddingException和IllegalBlockSizeException指示输入失败,因此应分开处理(并注意填充oracle攻击).

请注意,Jython作为另一种语言,不使用检查的异常,因此异常会完全掉落并导致程序失败.

例:

try {

Cipher cipher = Cipher.getInstance("AES/CBC/PKCS5Padding");

} catch(GeneralSecurityException e) {

throw new IllegalStateException("Could not retrieve AES cipher", e);

}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值