Java對字符串進(jìn)行加密解密
要求:
* 對用戶輸入的每個字符的值進(jìn)行加密,將解密后的字符串輸出
* 對用戶輸入的已加密字符串進(jìn)行解密并輸出
實現(xiàn)代碼:
import java.util.Scanner; /** * 要求: * 1.對用戶輸入的每個字符的值進(jìn)行加密,將解密后的字符串輸出 * 2.對用戶輸入的已加密字符串進(jìn)行解密并輸出 * @author Administration * */ public class Encryption { public static void main(String[] args) { Scanner input = new Scanner(System.in); System.out.println("請輸入一個英文字符串或揭秘字符串"); //獲取用戶輸入 String password = input.nextLine(); //講獲取的字符串轉(zhuǎn)成字符數(shù)組 char[] c = password.toCharArray(); //使用for循環(huán)給字符數(shù)組加密 for(int i=0;i<c.length;i++){ c[i] = (char)(c[i]^20000); } //輸出加密或者解密結(jié)果 System.out.println("加密或者解密之后的結(jié)果如下:"); System.out.println(new String(c)); } }
運行結(jié)果:
*加密過程:
請輸入一個英文字符串或揭秘字符串:
I Love You
加密或者解密之后的結(jié)果如下:
乩一乬乏乖久一乹乏乕
*解密過程:
請輸入一個英文字符串或揭秘字符串:
乩一乬乏乖久一乹乏乕
加密或者解密之后的結(jié)果如下:
I Love You
原理解析:
本例的關(guān)鍵技術(shù)是異或運算。
原理:如果一個字符(或數(shù)值)A與一個數(shù)值B進(jìn)行異或運算得到C,則再用C和B進(jìn)行以后運算就可以還原得到A。
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Spring Boot + FreeMarker 實現(xiàn)動態(tài)Word文檔導(dǎo)出功能
Spring Boot與FreeMarker的組合,為開發(fā)者提供了一個強大的平臺,可以輕松實現(xiàn)動態(tài)Word文檔的導(dǎo)出,本文將指導(dǎo)你如何使用Spring Boot與FreeMarker模板引擎,創(chuàng)建一個簡單的應(yīng)用,用于根據(jù)數(shù)據(jù)庫數(shù)據(jù)動態(tài)生成Word文檔并下載,感興趣的朋友一起看看吧2024-06-06Spring Boot中使用AOP統(tǒng)一處理web層異常的方法
這篇文章主要介紹了Spring Boot中使用AOP統(tǒng)一處理web層異常的相關(guān)資料,需要的朋友可以參考下2018-03-03