zoukankan      html  css  js  c++  java
  • 简单密码再次加密

    假设渊子原来一个BBS上的密码为zvbo9441987,为了方便记忆,他通过一种算法把这个密码变换成YUANzhi1987,这个密码是他的名字和出生年份,怎么忘都忘不了,而且可以明目张胆地放在显眼的地方而不被别人知道真正的密码。
    他是这么变换的,大家都知道手机上的字母: 1–1, abc–2, def–3, ghi–4, jkl–5, mno–6, pqrs–7, tuv–8 wxyz–9, 0–0,就这么简单,渊子把密码中出现的小写字母都变成对应的数字,数字和其他的符号都不做变换,
    声明:密码中没有空格,而密码中出现的大写字母则变成小写之后往后移一位,如:X,先变成小写,再往后移一位,不就是y了嘛,简单吧。记住,z往后移是a哦。

    方法一:使用2张表记录对比;
    方法二:使用一张map表,这个初始化map的时候有点麻烦,需要put太多的数据

    package com.pagination.plus.workTrain;
    
    import java.io.FileInputStream;
    import java.io.FileNotFoundException;
    import java.util.Scanner;
    
    public class Main99 {
        public static void main(String[] args) throws FileNotFoundException {
            String table0 = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";
            String table1 = "bcdefghijklmnopqrstuvwxyza22233344455566677778889999";
    
            Scanner in = new Scanner(new FileInputStream("D:\JavaData\tmp/input.txt"));
            //Scanner in = new Scanner(System.in);
            while (in.hasNextLine()) {
                String line = in.nextLine();
                StringBuilder outPutBuilder = new StringBuilder();
                for(int i=0;i<line.length();i++){
                    Character c = line.charAt(i);
                    boolean flag = true;
                    for(int j=0;j<table0.length();j++){
                        if(c==table0.charAt(j)){
                            outPutBuilder.append(table1.charAt(j));
                            flag = false;
                            break;
                        }
                    }
                    //其它符号的
                    if(flag){
                        outPutBuilder.append(c);
                    }
                }
                System.out.println(outPutBuilder.toString());
            }
        }
    }
    
    
  • 相关阅读:
    哥们儿太猛了
    word文档中出现一串乱码数字
    outlook添加附件时报错--“附件大小超过了允许的范围”
    windows常用脚本备忘
    vim常用命令
    win10中使用scp命令传输文件
    win10安装域控管理工具组件
    edge浏览器离线下载
    SQL_从星期一到星期六自动打卡SQL代码
    用友U8按BOM计算销售订单物料需求SQL代码 第一稿
  • 原文地址:https://www.cnblogs.com/InternetJava/p/12543181.html
Copyright © 2011-2022 走看看