在使用Javax.crypto
CIPHER(更具体的AES128/CBC/PKCS5Padding
)时,doFinal
在将null
传递给它时,将NullPointerException
作为方法args抛出。
是否有一种加密null
的方法,以便将其持续到数据库时,我不将null
存储为null
或类似的东西?
不,您不能加密null ...加密需要一个输入值(null不是)。如果您绝对必须在数据库中存储一个加密值,则可以检查被加密的值是否为null并将其施加到代表性值(空字符串,0,无论您的喜好如何),然后解密后对该值进行类似的检查,然后将其重新铸造回null。但是,我认为这是骇客的,应该避免 - 最好不要存储任何价值,但我不知道您的情况。
在尝试加密之前检查null。如果是空的,请不要对其进行加密。同样用于解密。