密碼解密

?給定一段“密文”字符串s,其中字符都是經(jīng)過(guò)"密碼本”映射的,現(xiàn)需要將“密文”解密并且輸出映射的規(guī)則 ("a-i"分別用"1-9"表示,"j-z" 分別用"10-26"表示
?約束:映射始終唯一
?輸入:201920*
?輸出:tst

import java.util.*;

public class Main{
    public static void main(String[] args){
        Scanner sc = new Scanner(System.in);
        String s = sc.nextLine();
        
        Map<String,Character> tempMap = new HashMap<>();
        
        for(int i = 1;i < 27;i++){
            if(i < 10){
                Character sa = (char)(i - 1 + 'a');
                tempMap.put(String.valueOf(i),sa);
            }else{
                StringBuffer ss = new StringBuffer();
                Character sa = (char)(i - 1 + 'a');
                ss.append(String.valueOf(i)).append("*");
                tempMap.put(ss.toString(),sa);
            }
        }
        
        StringBuffer res = new StringBuffer();
        for(int i = 0;i < s.length();i++){
            int sum = 0;
            if(i + 2 < s.length()&&!Character.isDigit(s.charAt(i + 2))){
                sum = sum * 10 + s.charAt(i) - '0';
                sum = sum * 10 + s.charAt(i + 1) - '0';
                StringBuffer ss = new StringBuffer();
                ss.append(String.valueOf(sum)).append("*");
                //從tempMap獲取結(jié)果
                res.append(tempMap.get(ss.toString()));
                i = i + 2;
            }else{
                StringBuffer ss = new StringBuffer();
                ss.append(String.valueOf(s.charAt(i) - '0'));
                //從tempMap獲取結(jié)果
                res.append(tempMap.get(ss.toString()));
            }
        }
        System.out.print(res);
    }
}
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 請(qǐng)解密以下代換密碼的密文:JGRMQOYGHMVBJWRWQFPWHGFFDQGFPFZRKBEEBJIZQQOC...
    cdmmax閱讀 884評(píng)論 0 0
  • 必要的基礎(chǔ)知識(shí) 編碼 將現(xiàn)實(shí)世界的內(nèi)容(文字、圖片、視頻等所有的信息)轉(zhuǎn)換成比特序列的過(guò)程就叫做編碼。例如,ASC...
    JMasche閱讀 1,431評(píng)論 0 2
  • connect_config.json中password為加密后的密碼。 使用下面java程序可以解密TVE5Yh...
    SailSea閱讀 5,912評(píng)論 2 2
  • 本文主要介紹移動(dòng)端的加解密算法的分類、其優(yōu)缺點(diǎn)特性及應(yīng)用,幫助讀者由淺入深地了解和選擇加解密算法。文中會(huì)包含算法的...
    蘋果粉閱讀 11,679評(píng)論 5 29
  • 前言 經(jīng)常做逆向的同學(xué)應(yīng)該不陌生這個(gè)軟件,頭幾天想分析一下太極的實(shí)現(xiàn)原理,看了一下,發(fā)現(xiàn)他對(duì)常用對(duì)字符串進(jìn)行加密操...
    歡樂馬_19e9閱讀 2,618評(píng)論 0 0

友情鏈接更多精彩內(nèi)容