0

我正在为一个项目实施 3Des 加密算法。

我以这段代码为例:

http://www.java2s.com/Code/Java/Security/TripleDES.htm

它工作正常,但我需要发送和接收字符串,但我这样做是为了将信用卡号保存在数据库中,所以我需要使用长数字,而不是字符串。

这样做有可能吗?

我必须使用特殊的 Key 还是必须对返回值进行一些转换?我正在寻找最好、最正确的解决方案。

我知道,也许我的问题有点傻,但我迷路了。

感谢您的回答,并为我糟糕的英语感到抱歉

4

1 回答 1

2

你需要byte[]加密,从很长时间你可以生成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[]进行加密和解密。还要注意,信用卡号码太长真的不好。

于 2012-10-11T18:39:10.843 回答