1. 程式人生 > >字串加密問題

字串加密問題

題目描述:

任意給定一個正整數(不超過32位),依據如下規則對其進行加密處理:
1. 不小於60000的整數的密文為其本身
2. 對於小於60000的整數,密文生成方式如下:
a) 最高有效位數字不變
b) 各低位上的數字加上6,其和除以10得餘數,然後用該餘數代替該位數字
c) 最後對各低位數字執行互換操作:個位與”次”高位對換,十位與”次次”高位對換,如:a、b操作完成後數字為12345,那麼互換後位15432。
執行時間限制: 無限制
記憶體限制: 無限制
輸入:
輸入數字
輸出:
輸出加密後的數字
樣例輸入:
12345
樣例輸出:
11098

以下是筆者給出的Java程式碼實現,不足之處歡迎大家指正交流。
import java.util.Scanner;

public class Main {
    /**
     * 字串加密方法
     * 
     * @param number
     * @return 加密後的整數
     */
    public static int encryption(int number) {
        if (number >= 60000 || number <= 9) {
            return number;
        }
        int length = String.valueOf(number).length(); // 正整數長度
int result = 0; // 加密後的整數結果 /** * 執行互換操作的兩個位數,其10的冪次之和為(正整數長度 - 2) * 如58313 ,其個位與"次"高位,分別對應10的0次方和10的3次方 * 其十位與"次次"高位,分別對應10的1次方和10的2次方 */ int j = length - 2; while (number > 9) {// 當正整數整除10後的結果不是個位數 int temp = (number % 10
+ 6) % 10; result = result + temp * (int) Math.pow(10, j); number = number / 10; --j; } result = result + number * (int) Math.pow(10, length - 1); return result; } public static void main(String args[]) { Scanner cin = new Scanner(System.in); while (cin.hasNext()) { Integer src = cin.nextInt(); System.out.println(encryption(src)); } } }

相關推薦

字串加密

轉化 wid image java util har 技術 rgs main 設計思想: 輸入一個String型的字符串,用length()函數判斷字符串長度,用toCharArray()函數轉化成字符數組,然後運算加3,如果是最後面的字母則減23,然後輸出 流程圖: 代

uvaoj1339 - Ancient Cipher(思維題,排序,字串加密)

https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=4085 兩個字串,判斷能否把其中一個字串重排,然後對每個字母進行對映(比如對映到前一個字母

字串加密和解密程式

目的:掌握串的應用演算法設計。 內容:一個文字串可用事先給定的字母對映表進行加密。例如,設字母對映表為: a  b  c  d  e  f  g  h  i  j  k  l &

字串加密和解密程式程式碼

題目描述: 一個文字串可用事先給定的字母對映表進行加密。例如,設字母對映表為: a  b  c  d  e  f  g  h  i  j  k  l  m  

ZZULIOJ 1164: 字串加密

題目描述 輸入一串字元(長度不超過100)和一個正整數k,將其中的英文字母加密並輸出加密後的字串,非英文字母不變。加密思想:將每個字母c加一個序數k,即用它後面的第k個字母代替,變換公式:c=c+k。如果字母為z,則後一個字母是a,也就是字母字元形成一個圓。 輸入 輸入第一行是若干字元,

js 字串加密解密

<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>網頁加密及解密</title> <meta name="author" cont

Python 對字串 加密 的5種方式

本文中的加密,是指人不能直觀看出資訊的加密 即:肉眼不可見的加密 1. url編碼 from urllib.parse import quote, unquote name = "王大錘" # 編碼 utf8_name = quote(name) # u

1164: 字串加密

1164: 字串加密 #include<stdio.h> #include<string.h> int main() {     char a[100];     int  k,c,i,s;  

字串加密(程式設計)

Description 通過鍵盤輸入一個字串,之後按如下規律對其加密: A→Z a→z B→Y b→y C→X c→x … 即將字串中的第i個大寫或小寫英文字母變成相應的第(26-i+1)個大寫或小寫字母,其他字元不變。 Input 輸入一個字串,不超過1

Java複習之物聯網期末考試243 - 字串加密

243 - 字串加密 Time Limit: 1000   Memory Limit: 65535 Submit: 225  Solved: 231 Description 嘗試構造一種自定義的

第八週 【專案4-字串加密

/*   *Copyright  (c)2017,煙臺大學計算機與控制工程學院       *All rights reservrd.       *作者:趙楷文  *完成時間:2017年12月14日       *版本號:v1.0  *問題描述:  一個文

Ancient Cipher 字串加密 重排

Ancient Roman empire had a strong government system with various departments, including a secret se

C語言字串加密和解密演算法

在本例項中要求設計一個加密和解密演算法。在對一個指定的字串加密之後,利用解密函式能夠對密文解密,顯示明文資訊。加密的方式是將字串中每個字元加上它在字串中的位置和一個偏移值 5。以字串“mrsoft”為例,第一個字元“m”在字串中的位置為 0,那麼它對應的密文是“‘m’+0+5",即 r。

java DES演算法實現字串加密(本地txt存取)

什麼是DES加密演算法 常見加密演算法有對稱加密演算法和非對稱加密演算法,它們的區別是加密和解密使用的是否是同一把鑰匙,常見的對稱加密演算法有DES,非對稱演算法有RSA,我們這裡重點介紹DES加密演算法,我們希望把這種演算法應用在本地賬號密碼資訊的加密上。顧名思義,祕鑰在這裡用來加密資

Python中的如何給一個字串加密

Python中自帶的hashlib模組的功能是給字串進行加密,加密方式有以下幾種: md5、sha1、sh224、sha256、sha384、sha512 常用的是md5和sha1 這裡首先介紹一下sh1的用法: 步驟如下: 1、匯入sha1 2、生成sha1物件 3、sh

ADO.NET實體模型 Entityframework連線字串加密解決方案

Use aspnet_regiis. In command line browse to (usually): cd C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727 and type: aspnet_regiis -pef "

彙編 字串加密

(1)程式設計為datasg段中字串中的每個字元加密,加密規則是:每個字元的ASCII值加4。加密好的字元寫在待加密字元的後面 assume cs:codesg,ds:datasg datasg segment db 'aah, I love you!' db '...

【第八週】專案4-字串加密

#include <stdio.h> #include "sqString.h" SqString A,B; //用於儲存字元對映表 SqString EnCrypt(SqString p) { int i=0,j; SqString q; while (i<p.

字串加密問題

題目描述: 任意給定一個正整數(不超過32位),依據如下規則對其進行加密處理: 1. 不小於60000的整數的密文為其本身 2. 對於小於60000的整數,密文生成方式如下: a) 最高有效位數字不變 b) 各低位上的數字加上6,其和除以1

字串加密,從資原始檔、磁碟檔案中載入小圖

private String hashKeyFromUrl(String url) { String cacheKey; try { MessageDigest digest = MessageDigest