2

在使用Javax.crypto密码(更具体AES128/CBC/PKCS5Padding)时,当作为方法 args传递给它时doFinal会抛出 a 。NullPointerExceptionnull

有没有办法加密null,以便在将其持久保存到数据库时,我不存储nullnull或类似的东西?

4

2 回答 2

4

不,您不能加密 NULL...加密需要输入值(NULL 不是)。如果您绝对必须在数据库中存储加密值,您可以检查被加密的值是否为 NULL 并将其转换为代表值(空字符串,0,无论您的偏好如何),并在解密时对该值执行类似的检查, 并重铸回 NULL。但是,在我看来,这是 hacky 并且应该避免 - 最好不要存储任何值,但我不知道你的情况。

于 2017-02-21T11:46:31.913 回答
0

在尝试加密之前检查 null。如果它为空,请不要加密它。同样用于解密。

于 2017-02-22T05:50:04.213 回答