我正在为一个项目实现3Des加密算法。
我以下面的代码为例:
http://www.java2s.com/Code/Java/Security/TripleDES.htm
它工作得很好,但我需要发送和接收字符串,但我这样做是为了将信用卡号码保存在数据库中,所以我需要使用长数字,而不是字符串。
做那件事有可能吗?
我必须使用一个特殊的键,或者我必须对返回值进行一些强制转换?我在寻找最好、最正确的解决方案。
我知道,也许我的问题有点傻,但我迷路了。
感谢你的回答,并为我糟糕的英语感到抱歉
发布于 2012-10-12 02:39:11
您需要byte[]
进行加密,从long开始,您可以生成byte[]
public static byte[] toByteArray(long value)
{
ByteBuffer bb = ByteBuffer.allocate(8);
return bb.putLong(value).array();
}
public long toLong(byte[] bytes) {
ByteBuffer buffer = ByteBuffer.allocate(8);
buffer.put(bytes);
return buffer.getLong();
}
使用此byte[]
进行加密和解密。还要注意的是,这真的不是很好的信用卡号码,因为长。
https://stackoverflow.com/questions/12846273
复制相似问题