实现凯撒密码的加密.docVIP

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
实现凯撒密码的加密

实现凯撒密码的加密、解密过程。 输入明文。密钥 #include stdio.h #include string.h ? int main() { ?char s[100],c; ?int i,p,d,e; ?printf(请选择 :? A.加密 B.解密? Q.退出\n); ?scanf(%c,c); ?if(c==a||c==A) ?{ ??printf(输入明文:); ??scanf(%s,s); ??p=strlen(s); ??printf(请设置偏移量:); ??scanf(%d,d); ?? ??for(i=0;ip;i++) ??{ ???if(s[i]=a s[i]=z) ????s[i]=(s[i]-a+d)%26+a; ???else if(s[i]=A s[i]=Z) ????s[i]=(s[i]-A+d)%26+A; ???else s[i]=s[i]+d; ??} ??printf(%s,s); ??printf(\n\n\n); ?} ?if(c==b||c==B) ?{ ??printf(请输入密文:); ??scanf(%s,s); ??p=strlen(s); ??printf(请输入加密的偏移变量:); ??scanf(%d,d); ??for(i=0;ip;i++) ??{ ???if(s[i]=a s[i]=z) ???{ ??????????????? e=s[i]-a-d; ????if(e=0) ??????? s[i]=(e+26)%26+a; ????else s[i]=e%26+a; ???} ???else if(s[i]=A s[i]=Z) ???{ ????e=s[i]-A-d; ????if(e0) ????s[i]=(e+26)%26+A; ????else s[i]=e%26+A; ???} ???else s[i]=s[i]-d; ??} ??printf(%s,s); ??printf(\n\n); ?} ?if(c==q||c==Q) ??return 0; ?return 0; } JAVA实现的DES加密解密算法(源程序)(lp) 2008-04-21 13:28 994人阅读 评论(1) 收藏 举报 public class DESPlus { private static String strDefaultKey = ; ? private Cipher encryptCipher = null; ? private Cipher decryptCipher = null; ? /** * byte数组转换为表示16进制值的字符串, 如:byte[]{8,18}转换为:0813, 和public static byte[] * hexStr2ByteArr(String strIn) 互为可逆的转换过程 * * @param arrB * 需要转换的byte数组 * @return 转换后的字符串 * @throws Exception * 本方法不处理任何异常,所有异常全部抛出 */ public static String byteArr2HexStr(byte[] arrB) throws Exception { int iLen = arrB.length; // 每个byte用两个字符才能表示,所以字符串的长度是数组长度的两倍 StringBuffer sb = new StringBuffer(iLen * 2); for (int i = 0; i iLen; i++) { int intTmp = arrB[i]; // 把负数转换为正数 while (intTmp 0) { intTmp = intTmp + 256; } // 小于0F的数需要在前面补0 if (intTmp 16) { sb.append(0); } sb.append(Integer.toString(intTmp, 16)); } return sb.toString(); } ? /** * 将表示16进制值的字符串转换为byte数组, 和public static String byteArr2HexStr(byte[] arrB) * 互为可逆的转换过程 * * @param strIn * 需要转换的字符串 * @return 转换后的byte数组 * @throws Exception *

文档评论(0)

wannian118 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档