这个其实要看你是怎么处理,最后在后台接收就处理
密钥一般都是字节数组,直接base64后转成字符串保存就好了
Base64的包导入没问题吗
这个需要单独添加一个jar包,是apache下面的commons jar包,你可以下载老师上传的jar包,其实我觉得没有必要,可以用HexBin.encode(result)也能达到效果。
一个byte数组定义的密钥,一个是采用加密算法加密后的密钥
password可以认为是密钥,但是除password之外,实际还要设置IV属性。之后用generateKey生成的是最终的key,也就是加密使用的key
这涉及Java语言中的继承、实现和 多态的理解,secretkeyspec实现了key接口,运用多态,就可以理解了
首先:
public interface Key extends java.io.Serializable
说明已经可以被序列化和反序列化,所以,可以通过请求将key以序列化流传递到服务器端,然后在服务器端进行反序列化为Key,然后在进行解密操作即可。
要对应的加密方式可用的key,我猜的
org.apache.commons.codec.binary.Base64包下的
可以的
当我们把密钥定为大于128时(即192或256)时,就会出现这个错误:Illegal key size or default parameters 这是因为Java默认不能处理这么长的key。解决办法:使用一个JCE就可以解决,把local_policy.jar文件和US_export_policy.jar放到你的程序所使用的jre下的安全目录下即可。
简单的说,一个byte数组定义的密钥,一个是采用加密算法加密后的密钥
异常信息不太完整,看起来像是少了bc的包吧
每个公司、业务使用的场景都会有不同,什么情况下需要加解密是根据业务需求和安全性来确定的