Java中使用異或運(yùn)算符實(shí)現(xiàn)加密字符串
通過異或運(yùn)算符號(hào)與一個(gè)指定的值進(jìn)行異或運(yùn)算,從而改變字符串每個(gè)字符的值,這樣就可以得到加密后的字符串。
import java.util.Scanner; public class Encypt { public static void main(String args[]){ Scanner scan = new Scanner(System.in); System.out.println("請(qǐng)輸入一個(gè)英文字符串或解密字符串:"); String password = scan.nextLine(); //獲取用戶輸入 char[] array = password.toCharArray(); //獲取字符數(shù)組 for(int i=0;i<array.length;i++) //遍歷字符數(shù)組 { array[i]=(char)(array[i]^20000); //對(duì)每個(gè)數(shù)組元素進(jìn)行異或運(yùn)算 } System.out.println("加密或解密結(jié)果如下:"); System.out.println(new String(array)); } }
輸出結(jié)果:
請(qǐng)輸入一個(gè)英文字符串或解密字符串: www.sohu.com 加密或解密結(jié)果如下: 乗乗乗與乓乏么乕與乃乏乍
總結(jié):
位運(yùn)算可以實(shí)現(xiàn)很多高級(jí),高效的運(yùn)算。比如說加密,乘法中的n次方就是右移n位,速度還快。
- Java運(yùn)算符>、>>、>>>三者的區(qū)別
- Java利用三目運(yùn)算符比較三個(gè)數(shù)字的大小
- Java雙冒號(hào)(::)運(yùn)算符使用詳解
- Java中比較運(yùn)算符compareTo()、equals()與==的區(qū)別及應(yīng)用總結(jié)
- Java用三元運(yùn)算符判斷奇數(shù)和偶數(shù)的簡(jiǎn)單實(shí)現(xiàn)
- Java instanceof 運(yùn)算符的使用方法
- Java中的位運(yùn)算符、移位運(yùn)算詳細(xì)介紹
- 詳解Java中運(yùn)算符及用法
- Java 邏輯運(yùn)算符中&&與&,||與|的區(qū)別
- 編程入門:掌握J(rèn)ava運(yùn)算符技巧
相關(guān)文章
Spring?boot配置綁定和配置屬性校驗(yàn)的方式詳解
這篇文章主要介紹了Spring?boot配置綁定和配置屬性校驗(yàn),SpringBoot 提供了2 種方式進(jìn)行配置綁定,即使用 @ConfigurationProperties 注解和使用 @Value 注解,需要的朋友可以參考下2022-05-05Java?實(shí)戰(zhàn)項(xiàng)目之學(xué)生信息管理系統(tǒng)的實(shí)現(xiàn)流程
讀萬卷書不如行萬里路,只學(xué)書上的理論是遠(yuǎn)遠(yuǎn)不夠的,只有在實(shí)戰(zhàn)中才能獲得能力的提升,本篇文章手把手帶你用java+SSM+jsp+mysql+maven實(shí)現(xiàn)學(xué)生信息管理系統(tǒng),大家可以在過程中查缺補(bǔ)漏,提升水平2021-11-11java 獲取HttpRequest Header的幾種方法(必看篇)
下面小編就為大家?guī)硪黄猨ava 獲取HttpRequest Header的幾種方法(必看篇)。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2016-09-09使用springboot 獲取控制器參數(shù)的幾種方法小結(jié)
這篇文章主要介紹了使用springboot 獲取控制器參數(shù)的幾種方法小結(jié),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-12-12通過java反射機(jī)制動(dòng)態(tài)調(diào)用某方法的總結(jié)(推薦)
下面小編就為大家?guī)硪黄ㄟ^java反射機(jī)制動(dòng)態(tài)調(diào)用某方法的總結(jié)(推薦)。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2016-07-07Springboot中如何通過yml為實(shí)體類注入屬性
這篇文章主要介紹了Springboot中如何通過yml為實(shí)體類注入屬性,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-05-05java發(fā)送form-data請(qǐng)求實(shí)現(xiàn)文件上傳的示例代碼
最近做一個(gè)需求,需要請(qǐng)求第三方接口上傳文件,該請(qǐng)求類型是form-data請(qǐng)求,本文就來介紹一下java發(fā)送form-data請(qǐng)求實(shí)現(xiàn)文件上傳的示例代碼,感興趣的可以了解一下2023-12-12使用MyBatis攔截器實(shí)現(xiàn)sql查詢權(quán)限動(dòng)態(tài)修改代碼實(shí)例
這篇文章主要介紹了使用MyBatis攔截器實(shí)現(xiàn)sql查詢權(quán)限動(dòng)態(tài)修改代碼實(shí)例,為了不耦合,現(xiàn)在的方案是在需要鑒權(quán)的Mybatis?Mapper方法上增加一個(gè)注解,在運(yùn)行過程中判斷該注解存在即對(duì)sql進(jìn)行修改,需要的朋友可以參考下2023-08-08