欢迎来到天天文库
浏览记录
ID:39550676
大小:49.00 KB
页数:4页
时间:2019-07-06
《java实现循环密码加密的凯撒算法》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、java实现循环密码加密的凯撒算法/*****************************************************************************************使用本方法可以实现英文字母和数字的循环密码加密,其他字符不加密。*如密码为“1342”,明文为“aaaaBBBB1111,%”*加密后“bdecCEFD2453,%”**@authorliyongjiang2013-4-2*************************************
2、***************************************************/publicclassCryptology{privatefinalstaticStringdefaultKeys="zAeOm40Z";//默认密码/***根据字符串获取凯撒密码数组**@paramkeyString*密码字符串*@return密码数组*/privatestaticint[]getKeys(StringkeyString){int[]keys=newint[keyString.leng
3、th()];for(inti=0;i4、ringresult="";for(inti=0;i='a'&&c<='z'){c=(c-'a'+key)%26+'a';}elseif(c>='A'&&c<='Z'){c=(c-'A'+key)%26+'A';}elseif(c>='0'&&c<='9'){intk=key%10;c=(c-'0'+k)%10+'0';}result=5、result+(char)c;}returnresult;}/***使用默认密码凯撒加密**@paramplainString*明文*@return密文*/publicstaticStringcaesarEncryption(StringplainString){//加密returncaesarEncryption(plainString,defaultKeys);}/***凯撒解密**@paramcipherString*密文*@paramkeyString*密码*@return明文字符串*/publi6、cstaticStringcaesarDeciphering(StringcipherString,StringkeyString){int[]keys=getKeys(keyString);Stringresult="";for(inti=0;i='a'&&c<='z'){c=(26+c-'a'-key)%26+'a';}else7、if(c>='A'&&c<='Z'){c=(26+c-'A'-key)%26+'A';}elseif(c>='0'&&c<='9'){intk=key%10;c=(10+c-'0'-k)%10+'0';}result=result+(char)c;}returnresult;}/***使用默认密码凯撒解密**@paramcipherString*密文*@return明文字符串*/publicstaticStringcaesarDeciphering(StringcipherString){returnca8、esarDeciphering(cipherString,defaultKeys);}publicstaticvoidmain(String[]args){StringplainString="wokao,youzhemenanma,2huo!";StringcipherString=caesarEncryption(plainString);System.out.println("plainString:"+plainStr
4、ringresult="";for(inti=0;i='a'&&c<='z'){c=(c-'a'+key)%26+'a';}elseif(c>='A'&&c<='Z'){c=(c-'A'+key)%26+'A';}elseif(c>='0'&&c<='9'){intk=key%10;c=(c-'0'+k)%10+'0';}result=
5、result+(char)c;}returnresult;}/***使用默认密码凯撒加密**@paramplainString*明文*@return密文*/publicstaticStringcaesarEncryption(StringplainString){//加密returncaesarEncryption(plainString,defaultKeys);}/***凯撒解密**@paramcipherString*密文*@paramkeyString*密码*@return明文字符串*/publi
6、cstaticStringcaesarDeciphering(StringcipherString,StringkeyString){int[]keys=getKeys(keyString);Stringresult="";for(inti=0;i='a'&&c<='z'){c=(26+c-'a'-key)%26+'a';}else
7、if(c>='A'&&c<='Z'){c=(26+c-'A'-key)%26+'A';}elseif(c>='0'&&c<='9'){intk=key%10;c=(10+c-'0'-k)%10+'0';}result=result+(char)c;}returnresult;}/***使用默认密码凯撒解密**@paramcipherString*密文*@return明文字符串*/publicstaticStringcaesarDeciphering(StringcipherString){returnca
8、esarDeciphering(cipherString,defaultKeys);}publicstaticvoidmain(String[]args){StringplainString="wokao,youzhemenanma,2huo!";StringcipherString=caesarEncryption(plainString);System.out.println("plainString:"+plainStr
此文档下载收益归作者所有