導航:首頁 > 文檔加密 > 一串數字加密成漢字

一串數字加密成漢字

發布時間:2022-09-23 15:33:51

㈠ 我想弄一個類似摩斯電碼的用數字能夠代表漢字的密碼,該怎麼辦

漢字--拼音--按規律打亂拼音--用手機鍵盤將拼音轉換成數字(例:A=21,B=22,C=23,D=31),然後根據摩斯密碼表將得到的數字變成摩斯密碼,完工。難點就在於變成摩斯密碼前如何加密。你可以網路一下柵欄密碼什麼的,還有平民常用的五筆加密什麼的。望採納

㈡ 請教個問題,一串數字怎麼轉成漢字呢 比如說 漢字一 對應 19968 C++中怎麼將19968轉成漢字」 一 「呢

// changeDate.cpp : 定義控制台應用程序的入口點。
//
#include <iostream>
#include <string>
#include <ctype.h>
using namespace std;

int check(string sNum);
void changeData (string sNum);
void changeNum(char cNum);
void change(int iNum);
int checkZero(const char * pTmp);

int _tmain(int argc, _TCHAR* argv[])
{
int rc;

string sNum;

do
{
cout<<"please input a number"<<endl;
cin>>sNum;
rc = check(sNum);
if(rc == 0)
{
break;
}
if (sNum.length() >=15)
{
cout<<"number to long"<<endl;
break;
}
}while(1);

changeData(sNum);

system("pause");
return 0;
}

int check(string sNum) /*檢查是否為合法的數字串*/
{
const char *pTmp = sNum.c_str();
int iNum=0;

for(int i=0; i != sNum.length(); i++)
{
if( !isdigit(*(pTmp+i)))
{
if (*(pTmp+i) != '.')
{
cout<<"Input isn't a number!"<<endl;
return -1;
}
else
{
iNum++;
}

}
}
if (iNum >= 2)
{
cout<<"Iput number wrong!"<<endl;
return -1;
}
else
{
return 0;
}
}

int chechPoint(string sNum) /*查找小數點的位置*/
{
const char *pTmp = sNum.c_str();

for(int i=0; i != sNum.length(); i++)
{
if (*(pTmp+i) == '.')
{
return i;
}
}
return 0;
}

void changeData (string sNum) /*將數字串用中文描述出來*/
{

if (sNum.length() <= 0)
{
return;
}
int i;
char cTmp;
int iTmp;
int iRet;
int iZero=0;
int iHead=0;
int iPoint=0;
int iHeadLen=0;
const char * pTmp = sNum.c_str();
iPoint = chechPoint(sNum);/*檢查是否有小數位*/
if (iPoint > 0 && iPoint < sNum.length() -1 )
{
iHeadLen = iPoint;
}
else
{
/*整數部分只一個數字的情況*/
if ( sNum.length() == 1)
{
changeNum(*pTmp);
cout<<endl;
return;
}
iHeadLen = sNum.length()-1;
}
/*整數部分轉換*/
for (i = 0; i != iHeadLen; i++)
{
/*頭字元為0的情況*/
if (*pTmp == '0' && iHead == 0)
{
/*整數部分只有一個的情況*/
if (iHeadLen == 1)
{
changeNum(*pTmp);
}
iHead++;
continue;
}
if (*(pTmp+i) == '0')
{
iRet = checkZero(pTmp+i);
if(iRet > 0)
{
int j;
for (j = 0; j <= iRet; j++)
{
iTmp = iHeadLen-i-j;
if (iTmp == 5|| iTmp == 9 || iTmp == 12)
{
change(iHeadLen-i-j);
}
}
i +=iRet;
iZero++;
continue;
}
else
{
iTmp = iHeadLen-i;
if (iTmp == 5|| iTmp == 9 || iTmp == 12)
{
change(iHeadLen-i);
}
else
{
if (iTmp == 1)
{
break;
}
changeNum(*(pTmp+i));
}

}

}
else
{
if (iZero > 0)
{
changeNum('0');
iZero=0;
}
changeNum(*(pTmp+i));
change(iHeadLen-i);
}
}

/*小數部分轉換*/
if (iPoint > 0 && iPoint < sNum.length()-1 )
{
cout<<"點";
int k;
for (k = iPoint+1; k != sNum.length(); k++)
{
changeNum(*(pTmp+k));
}
}

cout<<endl;
}

void changeNum(char cNum)
{
switch(cNum)
{
case '0': cout<<"零";break;
case '1': cout<<"一";break;
case '2': cout<<"二";break;
case '3': cout<<"三";break;
case '4': cout<<"四";break;
case '5': cout<<"五";break;
case '6': cout<<"六";break;
case '7': cout<<"七";break;
case '8': cout<<"八";break;
case '9': cout<<"九";break;
}
}
/*單位轉換*/
void change(int iNum)
{
switch(iNum)
{
case 1: break;
case 2: cout<<"十";break;
case 3: cout<<"百";break;
case 4: cout<<"千";break;
case 5: cout<<"萬";break;
case 6: cout<<"十";break;
case 7: cout<<"百";break;
case 8: cout<<"千";break;
case 9: cout<<"億";break;
case 10: cout<<"十";break;
case 11: cout<<"千";break;
case 12: cout<<"萬";break;
case 13: cout<<"十";break;
case 14: cout<<"百";break;
case 15: cout<<"千";break;
}
}

/* 檢查首個字元為0是否有幾個連續的0,返回連接0的個數 */
int checkZero(const char * pTmp)
{
const char *p = pTmp;
int i;
int iRet = 0;
for(i = 1; i != strlen(p); i++)
{
if (*(p+i) == '0')
{
iRet++;
}
else
{
break;
}
}
return iRet;
}

編譯通過,可以直接運行,還可以支持小數.

㈢ 用C語言把一串數字字元串變成中文數字

#include<stdio.h>

voidprint_chinese(charc)
{
switch(c)
{
case'0':printf("零");break;
case'1':printf("一");break;
case'2':printf("二");break;
case'3':printf("三");break;
case'4':printf("四");break;
case'5':printf("五");break;
case'6':printf("六");break;
case'7':printf("七");break;
case'8':printf("八");break;
case'9':printf("久");break;
default:printf("??");break;
}
}
intmain()
{
charstr[1000];
scanf("%s",str);
for(inti=0;str[i]!='';i++)
print_chinese(str[i]);
printf(" ");
}

㈣ 用MD5能否加密漢字

可以加密漢字啊!如果能解開的話,加密和解密結果肯定是一樣的。不過md5解密很困難的。數字加字母的那種已經很難破解了!漢字的更別說了!
不僅僅是漢字,任何字元串都可以md5加密!

java 把12345 這些數字轉出成大寫的中文漢子

public class Admin {

public static void main(String[] args) {
String[] arr = { "零", "壹", "貳", "叄", "肆", "伍", "陸", "柒", "捌", "玖" };

String str = "12345";

char[] c = str.toCharArray();
for (int i = 0; i < c.length; i++) {
int a = Integer.parseInt(String.valueOf(c[i]));
System.out.print(arr[a]);
}
}
}

㈥ JAVA中,怎樣將字母加密成漢字 我看有人用一個字母與20000異或就變成了漢字。 其中原理是

漢字在Java裡面用到兩個位元組(其實都是2個位元組 char類型的 不過在流里輸入的好像不是)
也就是2^15~2^16-1都可以表示漢字
而20000在這個范圍內的 字母的話 前8位是0 所以 字母和20000異或也就是在那個范圍內的 可以表示出漢字的 而異或這個操作是可以還原的 用密文異或20000也可以變成原來的字母

㈦ 數字轉換成漢字是什麼密碼

4194418141634192622374
大家注意一下這組數字 最大的是數字的范圍是1-9
手機上一共有10個數字按鍵 其中0和1不對應任何字母
所以不存在0 而為什麼會有1呢?
大家在仔細看一下,如果將數字從左到右編序號,12345直到22
有沒有發現奇數編號對應的數字沒有1
所以奇數編號的數字應該是對應有字母的手機按鍵
而所有偶數編號對應的數字都是1234
為什麼只有1234?大家再看看手機,所有有字母的按鍵 最多隻有4個字母,所以偶數編號的字母對應的是按鍵上的第幾個字母。
按照這個方法我們來看下這串數字 xx94xxxxxxx74
這是僅有的兩個偶數編號的4 相對應9和7
你們再看看手機 只有按鍵9和7才對應4個字母 其它的都只對應3個

--------------------------------------------------------------------------------

4
我重新整合了這個解密步驟。
如下。
38樓給我的提示。還是讓我想到了手機。
你們看解碼出來分組後的數字分別是,
41 94 41 81 41 63 41 92 62 23 74
並且每個組合個位數都不超過4。
特別是除了十位數是7和9這兩個數字後面有4以外其他的都沒有4。
看圖。
手機的鍵盤上7和9的字母也是4個的,其他的都不超過4個字母。
那麼,按照上面的組合解碼可得。
G Z G T G O G X N C S
解碼後我們發現每一組數字都能解釋出來。
目前我只能解碼到這里的。
雖然很不通順,但我相信這里應該是個突破點。
93樓的鍵盤代入也給了我很大的提示。
包括樓主的「她說途中有一個步驟是"替代密碼"而密碼表則是我們人類每天都可能用到的東西」
那麼很可能就是電腦鍵盤。
因為QWE的格式是被世人所認可的,也就有可能成為密碼的碼表。
碼表 QWE=ABC依次類推。
那麼解碼G Z G T G O G X N C S
就是G=O Z=T G=O T=E G=O O=I G=O X=U N=Y C=V S=L
翻譯過來就是 O T O E O I O U Y V L
其實到這里就已經大概知道答案是什麼了。
按照邏輯來整理,只要你重組這些字母的時候你就看到了。
雖然重組有很多種例如,LV IOU ET OOO
可是這些沒有語言性質。因為樓主說過最終答案是英語。
所以唯一一個符合邏輯的答案應該是I LOVE YOU TOO.
可是我還不確定。
因為這里我才解了第3層就已經看出答案了。
所以我決定用O T O E O I O U Y V L
進行再次解碼。
我用了很多種解碼方法。
凱撒,乘法等等。。
最後我發現了只有柵欄才能讀得通。
分成兩排
O T O E O I
O U Y V L
重組後,OOTUOYEVOLI。
然後倒序,ILOVEYOUTOO.
I LOVE YOU TOO.就自然而然的出來了。
最後我才肯定密碼就是I LOVE YOU TOO.
最後的最後,我敢肯定樓主有一個非觸摸屏的手機,並且鍵盤一定是標准格式的。
而且應該有一台筆記本或者你經常接觸電腦。
另外樓主和樓主的女人關系應該是認識很久的那種,而不是一見鍾情。
而且樓主告白的時候應該有用到I LOVE YOU 或者我愛你之類的字眼。

㈧ 我想弄一個類似摩斯電碼的用數字能夠代表漢字的密碼,該怎麼辦

漢字--拼音--按規律打亂拼音--用手機鍵盤將拼音轉換成數字(例:A=21,B=22,C=23,D=31),然後根據摩斯密碼表將得到的數字變成摩斯密碼,完工。難點就在於變成摩斯密碼前如何加密。你可以網路一下柵欄密碼什麼的,還有平民常用的五筆加密什麼的。望採納

㈨ 摩斯密碼 幾個數字代表一個漢字

都有可能,摩斯密碼和拼音一樣,幾個為一組。有的只需兩個字母就可以拼出一個漢字,有的卻需要五個。如果用摩斯密碼加密的話,十組密碼組成一個漢字也是常見的。

例:愛(ai)

(第一層)手機鍵盤加密:21,43(看看手機鍵盤就知道了)

(第二層)按規律打亂:2413

(第三層)摩斯密碼:。。---|。。。。-|。----|。。。--

這只是簡單的,如果不用重復方法最多可以加密五層。

一般來說,某個情報組織,如果要用漢字來傳遞信息,需要有一套數字密碼本,用特定的四位數字代替一個漢字。

四位數字最多可以表示10000個漢字,這對於常用的漢字已經足夠了,一般常用漢字也就1000多到3600個。摩斯密碼的密碼本,非常公開,哪個漢字對應哪四個數字,組織內成員如果需要使用的話,都必須清楚。

電影里,地下黨、軍統、中統等組織,都有各自的這種密碼本,而且很少更換。因為一旦更換,數字代表的漢字就會變化,這樣這套密碼就沒辦法對每個人適用了。 因為這套數字密碼非常公開,只有在隱蔽條件下才有使用價值,一旦被截獲或者發現,就直接可以破譯了。

(9)一串數字加密成漢字擴展閱讀

摩爾斯電碼是一種早期的數字化通信形式,通過點(滴)、劃(嗒)、停頓不同的排列順序,來表達不同的字母、數字、符號。它是1837年,被美國人塞繆爾·莫爾斯或者艾爾菲德·維爾(發明者有爭議)發明。

1901年12月12日,在位於加拿大東南角的紐芬蘭,接收到了從英國西南角的寶竇(Poldhu),用大功率發射電台發送「S」字元的國際摩爾斯電碼,「嘀、嘀、嘀」三聲微弱而短促的訊號,通過電波傳到2500公里外的大西洋對岸。無線電的誕生,讓摩爾斯電碼如虎添翼,開啟了無線電通訊的輝煌時代。

閱讀全文

與一串數字加密成漢字相關的資料

熱點內容
購買的app會員怎麼退安卓手機 瀏覽:889
程序員的種類及名稱 瀏覽:290
美國程序員薪資 瀏覽:12
黑石通匯證券伺服器什麼時候到期 瀏覽:391
東方財富app里我的關注怎麼看 瀏覽:747
bm3d單反級降噪演算法 瀏覽:457
華為安卓機激活時間怎麼查詢 瀏覽:850
如何用優盤重裝伺服器系統 瀏覽:317
日本結婚三代演算法 瀏覽:920
皓強工具解壓步驟 瀏覽:690
部隊抗洪搶險命令範文 瀏覽:888
歐姆龍plc編程軟體使用教程 瀏覽:594
ai文件pdf 瀏覽:912
騰訊雲伺服器掛載混合雲 瀏覽:758
智能小車用什麼單片機 瀏覽:463
java怎麼給窗口關閉 瀏覽:940
列舉51單片機的定址方式 瀏覽:706
剪輯app怎麼寫長篇文字 瀏覽:400
app專屬流量過月租怎麼不更新 瀏覽:656
王者程序員都有誰 瀏覽:78