zoukankan      html  css  js  c++  java
  • 字符串加密

     

    程序设计思想:

             定义用来加密解密字符串的类Password:

                       在Password中定义一个私有成员变量int key作为字符串加密解密的偏移量。

                       同时定义设置该变量值的公有函数setKey(int y)。

                       定义加密字符串的函数encrypt(String s):

                                该函数将s中每个字符设为该字符对应ASCII码表的后key个字符,返回此串。

                       定义解密字符串的函数decode(String s):

                                该函数将s中每个字符设为该字符对应ASCII码表的前key个字符,返回此串。

             定义测试类TestPass:

                       将主函数写在此类:

                                定义一个Password对象pass,以便之后的操作。

                                提示用户首先输入一个字符串str,表示之后对该字符串进行操作。

                                显示选项菜单(加密字符串、解密字符串)。

                                用户输入选项c,以及key。

                                使用pass调用setKey,将用户输入的key赋值给pass.key。

                                判断c的值,选择调用encrypt(String s)或decode(String s)并输出结果。

                                程序结束。

    程序流程图:

            

    源代码:

     1 import java.util.*;
     2 class Password{
     3     private int key;
     4     public Password(){
     5         key = 0;
     6     }
     7     public void setKey(int y){
     8         key = y;
     9     }
    10     public String encrypt(String s){
    11         String r = "";
    12         for(int i = 0;i < s.length();i++)
    13             r += (char)(s.charAt(i) + 3);
    14         return r;
    15     }
    16     public String decode(String s){
    17         String r = "";
    18         for(int i = 0;i < s.length();i++)
    19             r += (char)(s.charAt(i) - 3);
    20         return r;
    21     }
    22 }
    23 
    24 public class TestPass {
    25     public static void main(String[] args){
    26         Scanner in = new Scanner(System.in);
    27         Password pass = new Password();
    28         String str = new String();
    29         System.out.println("请输入一个字符串:");
    30         str = in.next();
    31         
    32         System.out.println("请输入要执行的操作:");
    33         System.out.println("1.字符串加密");
    34         System.out.println("2.字符串解密");
    35         int c = 0;
    36         c = in.nextInt();
    37         
    38         int y = 0;
    39         System.out.println("请输入Key:");
    40         y = in.nextInt();
    41         pass.setKey(y);
    42         
    43         switch(c)
    44         {
    45         case 1:System.out.println("字符串加密后的结果为" + pass.encrypt(str));break;
    46         case 2:System.out.println("字符串解密后的结果为" + pass.decode(str));break;
    47         default:System.out.println("输入错误!");
    48         }
    49     }
    50 }

    结果截图:

  • 相关阅读:
    TCP/IP和HTTP协议代理
    HTTP与HTTPS的区别
    HTTP头HOST
    租户、租户管理员、部门管理员和开发者在APIGW中的角色
    HTTP协议扫盲(八 )响应报文之 Transfer-Encoding=chunked方式
    Java的Socket通信
    开发一个http代理服务器
    需求迭代:迭代需求矩阵
    产品功能对标
    GIT入门笔记(20)- 使用eclipse 基于 git 开发过程梳理
  • 原文地址:https://www.cnblogs.com/lzq666/p/7726050.html
Copyright © 2011-2022 走看看