最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

java實現(xiàn)可逆加密算法

 更新時間:2019年03月22日 09:30:22   作者:Tony-Lu  
這篇文章主要為大家詳細介紹了java實現(xiàn)可逆加密算法,具有一定的參考價值,感興趣的小伙伴們可以參考一下

很多加密包都提供復(fù)雜的加密算法,比如MD5,這些算法有的是不可逆的。

有時候我們需要可逆算法,將敏感數(shù)據(jù)加密后放在數(shù)據(jù)庫或配置文件中,在需要時再再還原。

這里介紹一種非常簡單的java實現(xiàn)可逆加密算法。

算法使用一個預(yù)定義的種子(seed)來對加密內(nèi)容進行異或運行,解密只用再進行一次異或運算就還原了。

代碼如下:

seed任意寫都可以。

代碼:

package cn.exam.signup.service.pay.util;
 
import java.math.BigInteger;
import java.util.Arrays;
 
public class EncrUtil {
 private static final int RADIX = 16;
 private static final String SEED = "0933910847463829232312312";
 
 public static final String encrypt(String password) {
 if (password == null)
  return "";
 if (password.length() == 0)
  return "";
 
 BigInteger bi_passwd = new BigInteger(password.getBytes());
 
 BigInteger bi_r0 = new BigInteger(SEED);
 BigInteger bi_r1 = bi_r0.xor(bi_passwd);
 
 return bi_r1.toString(RADIX);
 }
 
 public static final String decrypt(String encrypted) {
 if (encrypted == null)
  return "";
 if (encrypted.length() == 0)
  return "";
 
 BigInteger bi_confuse = new BigInteger(SEED);
 
 try {
  BigInteger bi_r1 = new BigInteger(encrypted, RADIX);
  BigInteger bi_r0 = bi_r1.xor(bi_confuse);
 
  return new String(bi_r0.toByteArray());
 } catch (Exception e) {
  return "";
 }
 }
 
 public static void main(String args[]){
 System.out.println(Arrays.toString(args));
 if(args==null || args.length!=2) return;
 if("-e".equals(args[0])){
  System.out.println(args[1]+" encrypt password is "+encrypt(args[1]));
 }else if("-d".equals(args[0])){
  System.out.println(args[1]+" decrypt password is "+decrypt(args[1]));
 }else{
  System.out.println("args -e:encrypt");
  System.out.println("args -d:decrypt");
 }
 }
 
}

運行以上代碼:

[-e, 1234567890]
1234567890 encrypt password is 313233376455276898a5

[-d, 313233376455276898a5]
313233376455276898a5 decrypt password is 1234567890

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • Java?輕松入門使用Fiddler抓包工具教程

    Java?輕松入門使用Fiddler抓包工具教程

    超文本傳輸協(xié)議(HTTP)是一個簡單的請求-響應(yīng)協(xié)議,其主要是基于TCP來實現(xiàn)的,可以通過Chrome開發(fā)者工具或者Wireshark或者Fiddler抓包,以便分析?HTTP?請求/響應(yīng)的細節(jié),本篇博客主要談?wù)撊绾问褂肍iddler抓取HTTP,當然也可以抓取HTTPS
    2022-02-02
  • 巧用FutureTask 線程池輕松解決接口超時問題

    巧用FutureTask 線程池輕松解決接口超時問題

    這篇文章主要為大家介紹了使用FutureTask結(jié)合線程池輕松解決接口超時問題的巧妙用法,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-11-11
  • 深入解讀MVC模式和三層架構(gòu)

    深入解讀MVC模式和三層架構(gòu)

    這篇文章主要介紹了深入解讀MVC模式和三層架構(gòu),三層架構(gòu)就是為了符合“高內(nèi)聚,低耦合”思想,把各個功能模塊劃分為表示層(UI)、業(yè)務(wù)邏輯層(BLL)和數(shù)據(jù)訪問層(DAL)的三層架構(gòu),各層之間采用接口相互訪問,需要的朋友可以參考下
    2023-04-04
  • MyBatis查詢數(shù)據(jù)庫語句總結(jié)

    MyBatis查詢數(shù)據(jù)庫語句總結(jié)

    MyBatis是一種持久化框架,可以與許多不同類型的關(guān)系型數(shù)據(jù)庫連接,下面這篇文章主要給大家介紹了關(guān)于MyBatis查詢數(shù)據(jù)庫語句的相關(guān)資料,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下
    2023-06-06
  • struts2實現(xiàn)文件下載功能

    struts2實現(xiàn)文件下載功能

    這篇文章主要為大家詳細介紹了struts2實現(xiàn)文件下載功能,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-03-03
  • 淺談Java多線程的優(yōu)點及代碼示例

    淺談Java多線程的優(yōu)點及代碼示例

    這篇文章主要介紹了淺談Java多線程的優(yōu)點及代碼示例,還是比較不錯的,這里分享給大家,需要的朋友可以參考。
    2017-11-11
  • Java中的5種同步輔助類介紹

    Java中的5種同步輔助類介紹

    你提交了一些任務(wù),但你想等它們都完成了再做另外一些事情;你提交了一些任務(wù),但是不想讓它們立刻執(zhí)行,等你喊123開始的時候,它們才開始執(zhí)行;等等這些場景,線程之間需要相互配合,或者等待某一個條件成熟執(zhí)行。這些場景想你就需要用到同步輔助類
    2014-04-04
  • 基于SpringBoot和Vue實現(xiàn)頭像上傳與回顯功能

    基于SpringBoot和Vue實現(xiàn)頭像上傳與回顯功能

    在現(xiàn)代Web應(yīng)用中,用戶個性化體驗尤為重要,其中頭像上傳與回顯是一個常見的功能需求,本文將詳細介紹如何使用Spring Boot和Vue.js構(gòu)建一個前后端協(xié)同工作的頭像上傳系統(tǒng),并實現(xiàn)圖片的即時回顯,需要的朋友可以參考下
    2024-08-08
  • Spring Boot 整合 MongoDB的示例

    Spring Boot 整合 MongoDB的示例

    這篇文章主要介紹了Spring Boot 整合 MongoDB的示例,幫助大家更好的理解和學(xué)習(xí)spring boot框架,感興趣的朋友可以了解下
    2020-10-10
  • mybatis連接MySQL8出現(xiàn)的問題解決方法

    mybatis連接MySQL8出現(xiàn)的問題解決方法

    這篇文章主要介紹了mybatis連接MySQL8出現(xiàn)的問題解決方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-10-10

最新評論

玉林市| 理塘县| 北宁市| 大关县| 荥经县| 平陆县| 青冈县| 常山县| 聊城市| 兰州市| 弥渡县| 邛崃市| 祁门县| 吉木乃县| 安龙县| 莱州市| 西城区| 贡嘎县| 喜德县| 鹤岗市| 榆林市| 土默特左旗| 秀山| 汉川市| 镇巴县| 古田县| 彰化县| 舟山市| 广州市| 扎囊县| 佳木斯市| 昌江| 六盘水市| 金坛市| 嘉鱼县| 三穗县| 桃园县| 蒙阴县| 乐东| 迁安市| 宁武县|