• 首页 首页 icon
  • 工具库 工具库 icon
    • IP查询 IP查询 icon
  • 内容库 内容库 icon
    • 快讯库 快讯库 icon
    • 精品库 精品库 icon
    • 问答库 问答库 icon
  • 更多 更多 icon
    • 服务条款 服务条款 icon

Java实现字符串加密和解密

武飞扬头像
Richard Du
帮助1

我们在设计登录程序时需要用到保存用户名和密码的功能,如果是直接写入到txt文件中保存很容易被木马程序识破,所以就必须先对密码加密,只留存密文。

今天介绍的是使用十六进制转换的方式加密数据。

加密

  1.  
    String str = "true,0,localhost,1433,pxscj";//明文
  2.  
    String[] a = str.split("");
  3.  
    StringBuilder s1 = new StringBuilder();
  4.  
    for(int i=0;i<a.length;i )
  5.  
    {
  6.  
    char b = a[i].charAt(0);
  7.  
    int c = b 1;//伪装,每一个字符 1位
  8.  
    s1.append(Long.toHexString(c));//转换成十六进制
  9.  
    }
  10.  
     
  11.  
    System.out.println(s1);

得到结果: 757376662d312d6d7064626d697074752d323534342d717974646b

解密

现在我们将上面加密的数据进行解密

  1.  
    //密文
  2.  
    String str = "757376662d312d6d7064626d697074752d323534342d717974646b";
  3.  
    String[] a = str.split("");
  4.  
    StringBuilder s1 = new StringBuilder();
  5.  
    int j = 0;
  6.  
    for (int n = 0; n < a.length/2; n ) {
  7.  
    StringBuilder s2 = new StringBuilder();
  8.  
    for (int i = 0; i < 2; i ) {
  9.  
    s2.append(a[j]);
  10.  
    j ;
  11.  
    }
  12.  
    s1.append((char)(Integer.parseInt(String.valueOf(s2),16)-1));//转换成10进制数后-1
  13.  
    }
  14.  
    System.out.println(s1);

得到结果: true,0,localhost,1433,pxscj

这篇好文章是转载于:学新通技术网

  • 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
  • 本站站名: 学新通技术网
  • 本文地址: /boutique/detail/tanhgbkgkh
系列文章
更多 icon
同类精品
更多 icon
继续加载