Yblsfls 2017-09-13 09:04 采纳率: 66.7%
浏览 3145
已采纳

java加密,密文长度可以小于等于明文长度吗?

目前遇到一个问题,需要把数据库中所有涉及到身份证号的表的字段从明文变成密文,但是表设计的时候身份证号码字段长度只有18位,有没有办法可以在不改变表接口(需要改动的表太多了)然后储存密文,并且密文是可以反解的

  • 写回答

10条回答

  • dl0246 2017-09-13 13:57
    关注

    分享一段之前写的简单编码和解码代码,给你点提示,首先可以肯定的是你的需求可以做到!
    若需要解码代码,请跟我留言。

     /**
           * 简单的字符穿编码
           **/
          public static String encode(String ss,String enc)
          {
            StringBuffer sb=new StringBuffer("");
            int x=0;
            for (int i=0;i<ss.length();i++)
            {
              int z=ss.charAt(i)^enc.charAt(x);
              x++;
              if (x>=enc.length()) x=0;
              if (i>0) sb.append('|');
              sb.append(Long.toHexString(z));
            }
            return sb.toString();
          }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(9条)

报告相同问题?

悬赏问题

  • ¥50 树莓派安卓APK系统签名
  • ¥15 maple软件,用solve求反函数出现rootof,怎么办?
  • ¥65 汇编语言除法溢出问题
  • ¥15 Visual Studio问题
  • ¥15 state显示变量是字符串形式,但是仍然红色,无法引用,并显示类型不匹配
  • ¥20 求一个html代码,有偿
  • ¥100 关于使用MATLAB中copularnd函数的问题
  • ¥20 在虚拟机的pycharm上
  • ¥15 jupyterthemes 设置完毕后没有效果
  • ¥15 matlab图像高斯低通滤波