Java字串加密

古罗马皇帝凯撒在打仗时曾经使用过以下方法加密军事情报: 

              

请编写一个程序,使用上述算法加密或解密用户输入的英文字串。

package 字串加密;

import javax.swing.JOptionPane;
public class Password {
    public static void main(String args[])
    {
        String password;
        password = JOptionPane.showInputDialog("请输入要加密或者要破解的字符串:");

        String output;
        output = "字符串:"+password;
        char[] c = new char[password.length()];
        password.getChars(0, password.length(), c,0);

        //加密
        for(int i=0;i<password.length();i++)
        {
            if(c[i]==‘x‘)
                c[i]=‘a‘;
            else if(c[i]==‘y‘)
                c[i]=‘b‘;
            else if(c[i]==‘z‘)
                c[i]=‘c‘;
            else if (c[i] == ‘ ‘)
                c[i]=c[i];
            else
                c[i]+=3;
        }
        output=new String(c);

        //解密
        char[] d = new char[password.length()];
        password.getChars(0, password.length(), d,0);
        for(int i=0;i<password.length();i++)
        {
            if(d[i]==‘c‘)
                d[i]=‘z‘;
            else if(d[i]==‘b‘)
                d[i]=‘y‘;
            else if(d[i]==‘a‘)
                d[i]=‘x‘;
            else if(d[i] == ‘ ‘)
                d[i]=d[i];
            else
                d[i]-=3;
        }
        String o=new String(d);

        output +="\n\n解密后的字符串是:"+o;//定义输出格式

        JOptionPane.showMessageDialog(
                null,"加密后的字符串是:"+output,"字符串"+password,
                JOptionPane.PLAIN_MESSAGE);

        System.exit(0);

    }
}

结果截图:

     

    

时间: 2024-10-23 18:57:12

Java字串加密的相关文章

java字串加密及String的各类函数说明

一.字串加密 古罗马皇帝凯撒在打仗时曾经使用过以下方法加密军事情报: 请编写一个程序,使用上述算法加密或解密用户输入的英文字串要求设计思想.程序流程图.源代码.结果截图. 1.程序设计思想 先定义字符串,之后输入字符串,算出字符串的长度,用for循环进行字符串的加密,运用ASCLL码表,进行加密,如果是xyz就减23,XYZ同理,其余的就正常加3,最后将加密的字符加到一个空的String类型的成员上,最后输出结果. 2.程序流程图 3.源代码 import java.util.Scanner;

使用MD5將字串加密 C# VS2005 Sample Code

MD5的加密已經出來很長一段時間了,也不是什麼特別的新技術,寫這篇的用意也有點像是給自己的一個Note,畢竟加密的功能不常用,最多寫成一個Class,未來去呼叫就好,怕自己也會忘記,所以把這個寫下來. 初步的UI設定如下: H執行是單純加密,而Salt執行則是跑Salted Hash的動作. 單純加密比較不好,如果被人猜到加密方法是採MD5,也沒有Salted,那會風險會高一點,而Salt的效果,因為多了一個Value去加密,除了前面的都要猜到外,還要知道Salted Value才可以.而Sal

字串加密

package zi; import java.util.Scanner; class Word { public String str,str2,str3; int length,i,a1; char a; Scanner scanner=new Scanner(System.in); public void get() { str2=""; System.out.println("请输入密码"); str=scanner.nextLine(); length=s

课后作业1:字串加密

---恢复内容开始--- 1.请编写一个程序,使用上述算法加密或解密用户输入的英文字串 代码: package jiami;import javax.swing.JOptionPane; public class jiami { public static void main(String[] args) { // TODO Auto-generated method stub String s; s =JOptionPane.showInputDialog( "请输入密码:" );

课后作业:字串加密

公共字串计算——String.regionMatches方法 &amp; Java标签

题目:输入两个字符串,计算两个字符串的最大公共字串的长度,并输出,字符不区分大小写 eg:输入abcde  xxxBcyyy,输出 2. 完整Java代码: import java.util.*; public class Main { public static void main(String arg[]){ Scanner s=new Scanner(System.in); String str1=s.next(); String str2=s.next(); s.close(); Str

java之字符串中查找字串的常见方法

1.int indexOf(String str) :返回第一次出现的指定子字符串在此字符串中的索引.      int indexOf(String str, int startIndex):从指定的索引处开始,返回第一次出现的指定子字符串在此字符串中的索引. 函数数名:indexOf 调用方式:Object(String).indexOf(String str,int startIndex)或String.indexOf(String str) 参数说明:str需要查找的字串. startI

java中把字节数组为16进制字串

把字符串数组转换为16进制字符串 import java.security.MessageDigest; public class StringUtil { public StringUtil() { super(); } public static String str; public static final String EMPTY_STRING = ""; private final static String[] hexDigits = { "0", &q

字串数 排练组合(阶乘) java秒

字串数 题目抽象:给定若干字母和它们相应的个数,计算一共可以组成多少个不同的字符串. 1 import java.math.*; 2 import java.util.*; 3 import java.io.*; 4 import java.text.*; 5 6 public class Main 7 { 8 9 public static void main(String[] args) 10 { 11 Scanner cin=new Scanner(new BufferedInputStr