篇一:编写程序,要求从键盘输入一个自然数(0~9),将其转换成中文大写数字(零~玖)。
编写程序,要求从键盘输入一个自然数(0~9),将其转换成中文大写数字(零~玖)。
篇二:密码破译
比较有名的密码及一些加密方式
1.栅栏密码
2.猪圈密码
3.凯撒移位
4.摩斯电码
5.四方密码
6.希尔密码
7. ROT13(回转十三位)
8.键盘密码
9.维吉尼亚密码
10.单表替代密码(频率,bingo的破译密码)
常用trick
1.九键拼音(数字??字母)
2.电脑与手机九键数字的转换(数字??数字)
3.字母与字母序的字母数字转换(字母??数字)
4.元素周期表与序号的转换(字母??数字)
1.栅栏密码
How to use 5*6 = 153246
99怎么用呢?首先后面的6个数是从1到6,我考虑是解读的顺序。那么前面可能就意味着是把字符每6个进行分组了。那么把这30个字符分成5组,每组按照153246的顺序读,结果是:MOUGIL / YTHWNO / LHAIGV / OISTYE / VNNHO.MIUOGL / YNHTWO / LGAHIV / OYSITE / VHNNH.
既然一共是30个字符,确实能够分成5组,栅栏密码。也就是说,5个一组横着写,然后纵向阅读,可能就有意义了:
M O U G I L
Y T H W N O
L H A I G V
O I S T Y E
V N N H O .
再考虑到153246可能是按照列阅读的顺序,那么,我们编个号,如下:
|1|2|3|4|5|6|
|M|O|U|G|I|L|
|Y|T|H|W|N|O|
|L|H|A|I|G|V|
|O|I|S|T|Y|E|
|V|N|N|H|O|.|
然后,我们把这个表竖着看,按照1->5->3->2->4->6的顺序排列一下,如下: |1|5|3|2|4|6|
|M|I|U|O|G|L|
|Y|N|H|T|W|O|
|L|G|A|H|I|V|
|O|Y|S|I|T|E|
|V|O|N|N|H|.|
那么我们调整一下列的顺序,并且把竖排变成横排,变成了:
MYLOV
INGYO
UHASN
OTHIN
GWITH
LOVE.
在考虑到空格的位置,解密如下: MO UGILYT HWN OLH AIGVOIS TYEV NNHO.
MY LOVING YOU HAS NOTHING WITH LOVE.
也就是:My loving you has nothing with love. 解密成功。
例:
密码:I’D LIKE TO LIVE WITH YOUIN A SMALL TOWN, WHERE THERE ARE ETERNAL TWILIGHTS AND ETERNAL BELLS.
明文:LK’ IDIL VT IOET YWHI ENS UA I OLOAT LMWE N H,WHRE ETRE TAE REATRLN EIHIGLWNE SDA TNLEART L.ESL B
KEY:6*13=>635142
回应:
HVO AUYE MBNE EL FOYN YR.TEU U
KEY:6*4=>635142
2.猪圈密码
Key:
"X marks the spot"的加密结果将呈现如下:
3.凯撒移位
快速破译的网站:
http://quipqiup.com/
可参考的代码A
public class ShiftCode {
private static String Ciphertext = "VRPHWLPHV L ZDQW WR FKDW ZLWK BRX, EXW L KDYH QR UHDVRQ WR FKDW ZLWK BRX";
private static String getString(int i){
篇三:实验九键盘接口
/*
;***********************************************************************
;* 北京达盛科技有限公司
;*研 发 部
;*
;*
;*
;*--------------------------------------------- 文件信息9 ---------------;*
;* 文件名称 : 7279.C
;* 文件功能 : 该文件为测试7279的测试程序,CPU=TMS320VC5402
;* 接口说明: CS=XF,CLK=BCLKX1,DATA=BCLKR1
方向 BFSX1 ;BFSX1='1' BCLKR1输出数据给7279,DATA7279<=
BCLKR1
; BFSX1='0' 7279输出数据给BCLKR1,BCLKR1<=DATA7279 ; 键盘中断 INT0<=KEY7279 (54X的中断0)
*/
//------------------头文件--------------------------------------
//#include "MMRegs.h"
#include "DspRegDefine.h"//VC5402 寄存器定义
//---------------------------------------------------------------
/* ****************** 宏定义 ***************
************************************************************
*/
#define UCHARunsigned char
#define UINT16 unsigned int
#define UINT32 unsigned long
#define TRUE 1
#define FALSE 0
//---------------------------------------------------------------
//--------------- HD7279A 指令 -----------------------------
#define CMD_RESET 0xa4 //复位
#define CMD_TEST 0xbf //测试
#define RTL_UNCYL 0xa1 //左移
#define RTR_UNCYL 0xa0 //右移
#define RTL_CYCLE 0xa3 //循环左移
#define RTR_CYCLE 0xa2 //循环右移
#define DECODE00x80 //下载数据按方式0译码
#define DECODE10xc8 //下载数据按方式1译码
#define UNDECODE 0x90 //下载数据但不译码
#define BLINKCTL 0x88 //闪烁控制
#define ACTCTL 0x98 //消隐控制
#define SEGON 0xe0 //段点亮
#define SEGOFF 0xc0 //段关闭
#define CMD_READ 0x15 //读键盘数据
//---------------------------------------------------------
/*端口定义 */
//---------------------------------------------------------
ioport UINT16 port8001; //定义输出io端口为0x8001;
//----------------------------------------------------------
/*全局变量定义 */
//---------------------------------------------------------
char send_buff = 0x00; //发送缓冲
char rece_buff = 0x00; //接收缓冲
UINT16 data_buff = 0x0000; //数据缓冲
UINT16 show = 0x00aa;
/*
********************************************************************** *************** 所使用的函数原型 *****************
********************************************************************** */
void cpu_init(void); //初始化CPU
void mcbsp1_init(void); //初始化MCBSP1设置寄存器,配置成IO模式
void xint0_init(void);//外部中断0初始化子程序
interrupt void ExtInt0();//中断0中断子程序
void cs_high(void);//片选置高
void cs_low(void); //片选置低
void send(void);// 发送一个字节 8BIT
void receive(); // 接收一个字节 8BIT
void delay_25ms(void);//25ms延迟 --复位延迟
extern void delay_8us(void); //8us延迟 --T2\T3\T6\T7
extern void delay_25us(void);//25us延迟 --T4\T5
extern void delay_50us(void);//50us延迟 --T1
void Delay(UINT16 numbers); //延迟
//-------------------------------------------------------------------
/*
************************************************************************ *********************** 函数定义 ******************
************************************************************************ */
//--------------------------------------------------------------------
// 函数名称 : void cpu_init(void)
// 函数说明 : 初始化CPU
// 输入参数 : 无
// 输出参数 : 无
//--------------------------------------------------------------------
void cpu_init(void)
{
asm(" nop ");
asm(" nop ");
asm(" nop ");
//-------------------------------------------------------------------
//CLKMD DEFINITIONS:
// PLLMUL (bit 15-12) - 0000 PLL multiplier = 0 (mult by 1)
// PLLDIV (bit 11) - 0PLL divider = 0 (div by 1)
// PLLCOUNT (bit 10-3)-11111111 PLL counter set to max
// PLLONOFF (bit 2)- 1PLL on
// PLLNDIV (bit 1) -1 Select PLL mode
// PLLSTATUS (bit 1) - x PLL Status (read only)
// ------------------
// 0000011111111111 = 0x07ff CLKMD=1 X CLKIN
//--------------------------------------------------------------------
*(unsigned int*)CLKMD=0x0;//switch to DIV mode clkout= 1/2 clkin
while(((*(unsigned int*)CLKMD)&01)!=0);
*(unsigned int*)CLKMD=0x07ff;//switch to PLL X 1 mode
//--------------------------------------------------------------------
// ST0 DEFINITIONS:
// ARP (bit 15-13) - 000 Auxiliary register pointer
// TC(bit 12) - 1 Test/control flag
// C (bit 11) - 1Carry is set to 1 if the result of an addition generates a carry; it is cleared to 0 if the
// result of a subtraction generates a borrow. // OVA (bit 10) -0 Overflow flag for accumulator A
// OVB (bit 9) - 0 Overflow flag for accumulator B
// DP(bit 8-0)- 00000000 Data-memory page pointer
// --------------------
// 0001 1000 0000 0000 =0x1800 Reset value
//--------------------------------------------------------------------
//*(unsigned int*)ST0=0x1800;
//--------------------------------------------------------------------
// ST1 DEFINITIONS:
// BRAF (bit 15) - 0 Block-repeat active flag
// CPL(bit 14) - 1 Compiler modeCPL=0 DP;CPL=1 SP // XF (bit 13) -1XF status
// HM (bit 12) - 0 Hold mode
// INTM (bit 11) - 1 Interrupt mode INTM=0,All unmasked interrupts are enabled
// Reser (bit 10) -0Always read as 0
// OVM(bit 9)- 0 Overflow mode
// SXM(bit 8)- 1 Sign-extension mode
// C16(bit 7)-0Dual 16-Bit/double-precision arithmetic mode // FRCT (bit 6)- 0 Fractional mode
// CMPT (bit 5)- 0 Compatibility mode
// ASM(bit 4-0) -00000 Accumulator shift mode
// --------------------
// 0110 1001 0000 0000 =0x2900 Reset value
//--------------------------------------------------------------------
//*(unsigned int*)ST1=0x6900;
//--------------------------------------------------------------------
//IPTR DEFINITIONS?
// IPTR (bit 15-7) - 001111111 Run-time Interrupt vector location = 0x3f80 (for now)
// MP/~MC (bit 6) - 1Turn off internal Instruction ROM (use RAM) // OVLY(bit 5) -1 Turn on internal RAM
// AVIS(bit 4) - 1 Address visibility on
// DROM(bit 3) - 0Data ROM of FF00~FFFF is external
// CLKOFF (bit 2) -0 Clockout enabled,only for use clkout=cpu clock
// SMUL(bit 1) - 1 Saturate before multiply on MAC // SST (bit 0) - 0Do not saturate before store
// -----------------
// 0011 1111 1111 0010 = 0x3ff2
/*---------------------------------------------------------------------*/
*(unsigned int*)PMST=0x3FF2;
//---------------------------------------------------------------------
// SWWSR DEFINITIONS?
// XPA(bit 15) - 0 Extended program address control bit. XPA is used in conjunction with the program space fields
//(bits 0 through 5) to select the address range for program space wait states
// I/O(bits 14-12) - 111 set to max wait states for seven
// Data1 (bits 11-9) - 111 Seven Wait state for Upper data space(0x8000-0xFFFF)
// Data2 (bits 8-6)- 111 Seven Wait states for Lower data space (0x0000 - 0x7FFF)
// Prog1 (bits 5-3)- 111 Seven Wait state for Upper program space. (xx8000-xxFFFF)
// Prog2 (bits 2-0)- 111 Seven Wait states for Program space. (xx0000-xx7FFF)
//-----------------
// 1 111 111 111 111 111 - 0x7fff
/*--------------------------------------------------------------------*/
*(unsigned int*)SWWSR=0x7fff;
//--------------------------------------------------------------------
//SWCR DEFINITIONS?
// Reserved (bits 15-1)
// SWSM (bit 0) - 1 wait-state base values are mulitplied by 2 // for a maximum of 14 wait states.
// --------------------------
// 0000 0000 0000 0001
//--------------------------------------------------------------------
*(unsigned int*)SWCR=0x0001;
//--------------------------------------------------------------------
//BSCR DEFINITIONS?
//BNKCMP (bit 15-12)- 1111 Bank compare. Determines the external memory-bank size. BNKCMP is used to mask the four MSBs of
// an address.
// 1111 4k
// 1110 8k
// 1100 16k
// 1000 32k
// 0000 64k
// PS-DS (bit 11) - 1 One extra cycle is inserted between consecutive data and program reads.
《
键盘数字九键》
由:
建材加盟网互联网用户整理提供,链接地址:
http://m.yuan0.cn/a/5707.html
转载请保留,谢谢!