Java实现加密|加密模板

版权声明:如需转载注明出处 https://blog.csdn.net/u011463794/article/details/82970504

Java实现加密功能代码

其实加密就是用函数对应改变相应字符,比如折叠加密就是
a<->z, b<->y, …,m<->n
所以其实只要知道加密算法(就是字符对照规则)很好实现加密功能的


代码模板(我省略的部分就是加密算法)

public class Encrypt {
	public String encryptMessage (String msg) {
	      System.out.println("Message: "+ msg);
	      char[] msgChars = msg.toCharArray();
	      char[] digitArr = getDigitArray();
		  char[] alphabet = getAlphabetArray();
		  
		     for (int m = 0; m < msgChars.length; m++){
		     for(int n = 0; n < 26; n++){
		           if ( msgChars[m] == alphabet[n]){
		              //此处写小写字母对应法
		        	  break;
		           }
		           else if ( msgChars[m] == Character.toUpperCase(alphabet[n]) ){
				      //此处写大写字母对应法
					  break;
		           }
		        }
	            for(int j = 0; j < 11; j++){
		           if ( msgChars[m] == digitArr[j]){
		            //此处写数字对应法
		        	  break;
		           }
		        }
		     }
	       System.out.println("Encrypted  message: "+new String(msgChars));
		   return new String(msgChars);
	   }
	   
	private char[] getAlphabetArray(){
	       String str = "abcdefghijklmnopqrstuvwxyz";
		   char[] chArray = str.toCharArray();
		   return chArray;
	  }
	private char[] getDigitArray(){
	       String str = "0123456789";
	  	   char[] chArray = str.toCharArray();
	  	   return chArray;
	  }
}


例子,我们设计一个机密功能使得

a->b,b->c,…,z->a
0->1,1->2,…,9->0

上面就是加密规则,也就是加密算法
代码实现如下

//上面已经把字符串转成数组,所以我们把每个数组的值改成映射后的即可
for(int m = 0;m<msgChars.length;m++)
	{
	//因为我们z->a所以我在字母表中在a后面加了一个a,一共27个字母
    for(int n = 0; n < 27; n++){
       if ( msgChars[m] == alphabet[n]){
       
       //凡是检索到的字母都映射成其后的一个字母
          msgChars[m] = alphabet[n+1];
    	  break;
       }
       
       //大写的情况
       else if ( msgChars[m] == Character.toUpperCase(alphabet[n]) ){
	      msgChars[m] = Character.toUpperCase(alphabet[n+1]);
		  break;
       }
    }
    
    //数字跟上面一样
    for(int j = 0; j < 11; j++){
       if ( msgChars[m] == digitArr[j]){
          msgChars[m] = digitArr[j+1];
    	  break;
       }
    }

是不是很简单

运行结果

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/u011463794/article/details/82970504
今日推荐