Cypher编号保持相同的大小,并将其插入DB中的VARCHAR列

时间:2013-12-02 11:25:43

标签: java encryption

我有一个像这样的数字“3344550043374314”,我需要一个可以加密这个的算法 编号,然后将其添加到数据库中的VARCHAR列。

  1. 加密号码不得超过DB COLUMN size(19)
  2. 无法更改数据库列类型
  3. 我用“一次性垫”,“CaesarCipher”,“DES”,“安全HASH”进行了测试。他们都没有工作 作为解决方案。

    我需要并加密/解密接收密钥和字符串的函数。

1 个答案:

答案 0 :(得分:0)

由于您存储的列值仅包含数值,因此我认为您不应该Cipher数值。但是,是的,如果你担心安全性,你可以设计自己的机制从值中减去一个特定的数字并存储它们,并在检索时你可以添加该特定数字以获得所需的结果。
如果您正在寻求更高的安全性,请阅读Compress large Integers into smallest possible string,这将允许您compress-decompress,是的,您可以使用小技巧进行减法,然后compress-decompress进行强化。

所以这也满足了你的条件,

  1. 加密号码不得超过DB COLUMN size(19)
  2. 无法更改数据库列类型
  3. 添加了一些Securtiy以防止它容易破裂。