C 语言写的一个登陆网站的程序,网站用JavaScript加密账号和密码 RSA ,如何用C 模拟他的加密 (易位密码法的加密模拟实现)

2023-03-20 20:18:53 密码用途 思思

比较简单的就是你用Anthem.Net控件,去网上下载个Anthem.dll,然后后台调用JS就这么写Anthem.Manager.AddScriptForClientSideEval("js方法名");或者不用Anthem的话,this.Page.ClientScript.RegisterStartupScript(this.GetType(), "js", "ShowMaterialManager('" + url + "');", true); 就这样调用。或者

1、首先建立一个按钮,在后台将调用或处理的内容写入button_click中;

2、在前台写一个js函数,内容为document.getElementById("btn1").click();

3、在前台或后台调用js函数,激发click事件,等于访问后台c#函数

计算机密码学中有哪些加密算法?

、信息加密概述

密码学是一门古老而深奥的学科,它对一般人来说是莫生的,因为长期以来,它只在很少的范围内,如军事、外交、情报等部门使用。计算机密码学是研究计算机信息加密、解密及其变换的科学,是数学和计算机的交义学科,也是一门新兴的学科。随着计算机网络和计算机通讯技术的发展,计算机密码学得到前所未有的重视并迅速普及和发展起来。在国外,它已成为计算机安全主要的研究方向,也是计算机安全课程教学中的主要内容。

密码是实现秘密通讯的主要手段,是隐蔽语言、文字、图象的特种符号。凡是用特种符号按照通讯双方约定的方法把电文的原形隐蔽起来,不为第三者所识别的通讯方式称为密码通讯。在计算机通讯中,采用密码技术将信息隐蔽起来,再将隐蔽后的信息传输出去,使信息在传输过程中即使被窃取或载获,窃取者也不能了解信息的内容,从而保证信息传输的安全。

任何一个加密系统至少包括下面四个组成部分:

( 1)、未加密的报文,也称明文。

( 2)、加密后的报文,也称密文。

( 3)、加密解密设备或算法。

( 4)、加密解密的密钥。

发送方用加密密钥,通过加密设备或算法,将信息加密后发送出去。接收方在收到密文后,用解密密钥将密文解密,恢复为明文。如果传输中有人窃取,他只能得到无法理解的密文,从而对信息起到保密作用。

二、密码的分类

从不同的角度根据不同的标准,可以把密码分成若干类。

(一)按应用技术或历史发展阶段划分:

1、手工密码。以手工完成加密作业,或者以简单器具辅助操作的密码,叫作手工密码。第一次世界大战前主要是这种作业形式。

2、机械密码。以机械密码机或电动密码机来完成加解密作业的密码,叫作机械密码。这种密码从第一次世界大战出现到第二次世界大战中得到普遍应用。3、电子机内乱密码。通过电子电路,以严格的程序进行逻辑运算,以少量制乱元素生产大量的加密乱数,因为其制乱是在加解密过程中完成的而不需预先制作,所以称为电子机内乱密码。从五十年代末期出现到七十年代广泛应用。

4、计算机密码,是以计算机软件编程进行算法加密为特点,适用于计算机数据保护和网络通讯等广泛用途的密码。

(二)按保密程度划分:

1、理论上保密的密码。不管获取多少密文和有多大的计算能力,对明文始终不能得到唯一解的密码,叫作理论上保密的密码。也叫理论不可破的密码。如客观随机一次一密的密码就属于这种。

2、实际上保密的密码。在理论上可破,但在现有客观条件下,无法通过计算来确定唯一解的密码,叫作实际上保密的密码。

3、不保密的密码。在获取一定数量的密文后可以得到唯一解的密码,叫作不保密密码。如早期单表代替密码,后来的多表代替密码,以及明文加少量密钥等密码,现在都成为不保密的密码。

(三)、按密钥方式划分:

1、对称式密码。收发双方使用相同密钥的密码,叫作对称式密码。传统的密码都属此类。

2、非对称式密码。收发双方使用不同密钥的密码,叫作非对称式密码。如现代密码中的公共密钥密码就属此类。

(四)按明文形态:

1、模拟型密码。用以加密模拟信息。如对动态范围之内,连续变化的语音信号加密的密码,叫作模拟式密码。

2、数字型密码。用于加密数字信息。对两个离散电平构成0、1二进制关系的电报信息加密的密码叫作数字型密码。

(五)按编制原理划分:

可分为移位、代替和置换三种以及它们的组合形式。古今中外的密码,不论其形态多么繁杂,变化多么巧妙,都是按照这三种基本原理编制出来的。移位、代替和置换这三种原理在密码编制和使用中相互结合,灵活应用。

换位密码的加密方法

加密换位密码通过密钥只需要对明文进行加密,并且重新排列里面的字母位置即可。具体方法如下

1、基于二维数组移位的加密算法

给定一个二维数组的列数,即该二维数组每行可以保存的字符个数。再将明文字符串按行依次排列到该二维数组中。最后按列读出该二维数组中的字符,这样便可得到密文。

2、换位解密算法(基于二维数组移位的解密算法)

先给定一个二维数组的列数,即该二维数组每行可以保存的字符个数,并且这个数应该和加密算法中的一致。接下来将密文字符串按列一次性排列到该二维数组中。最后按行读出该二维数组中的字符即可。

3、换位加密算法

首先按照密钥排列顺序:0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ将想要加密的明文加密,然后列出表格,找出对应的字母,就是密钥。然后对他们进行换位加密,就是将表格的第二行依据密钥排列顺序进行排序以便得到加密后的密文。

扩展资料

数据加密技术的分类

1、专用密钥

又称为对称密钥或单密钥,加密和解密时使用同一个密钥,即同一个算法。单密钥是最简单方式,通信双方必须交换彼此密钥,当需给对方发信息时,用自己的加密密钥进行加密,而在接收方收到数据后,用对方所给的密钥进行解密。当一个文本要加密传送时,该文本用密钥加密构成密文,密文在信道上传送,收到密文后用同一个密钥将密文解出来,形成普通文体供阅读。

2、对称密钥

对称密钥是最古老的,一般说“密电码”采用的就是对称密钥。由于对称密钥运算量小、速度快、安全强度高,因而如今仍广泛被采用。它将数据分成长度为64位的数据块,其中8位用作奇偶校验,剩余的56位作为密码的长度。首先将原文进行置换,得到64位的杂乱无章的数据组,然后将其分成均等两段;第三步用加密函数进行变换,并在给定的密钥参数条件下,进行多次迭代而得到加密密文。

3、公开密钥

又称非对称密钥,加密和解密时使用不同的密钥,即不同的算法,虽然两者之间存在一定的关系,但不可能轻易地从一个推导出另一个。非对称密钥由于两个密钥(加密密钥和解密密钥)各不相同,因而可以将一个密钥公开,而将另一个密钥保密,同样可以起到加密的作用。公开密钥的加密机制虽提供了良好的保密性,但难以鉴别发送者,即任何得到公开密钥的人都可以生成和发送报文。

4、非对称加密技术

数字签名一般采用非对称加密技术(如RSA),通过对整个明文进行某种变换,得到一个值,作为核实签名。接收者使用发送者的公开密钥对签名进行解密运算,如其结果为明文,则签名有效,证明对方的身份是真实的。数字签名不同于手写签字,数字签名随文本的变化而变化,手写签字反映某个人个性特征,是不变的;数字签名与文本信息是不可分割的,而手写签字是附加在文本之后的,与文本信息是分离的。

参考资料来源:百度百科-换位密码

设置密码有什么规则?

密码设置时,须遵守以下规则:密码不能和登录名完全一致;和联系方式中电话、传真、手机、邮编的任何一个完全相同zd。

用连续密码设置时,须遵守以下规则:

1、密码不能和登录名完全一致。

2、和联系方式中“电话”、“传真”、“手机”、“邮编”的任何一个完全相同。

3、用连续数字(递增或递减)。

4、用连续且大小写一致的英文字符(顺序字符或倒序字符)。

5、用连续同一个字符或者数字。

例如: 明码表:ABCDEFGHIJKLMNOPQRSTUVWXYZ 

密码表:DEFGHIJKLMNOPQRSTUVWXYZABC,这就形成了一个简单的密码表,如果想写 frzy(即明文),那么对照上面密码表编成密码也就是 iucb(即密文)了。

密码表可以自己选择移几位,移动的位数也就是密钥。

3、栅栏易位法。

即把将要传递的信息中的字母交替排成上下两行,再将下面一行字母排在上面一行的后边,从而形成一段密码。

举例:TEOGSDYUTAENNHLNETAMSHVAED 

解:将字母分截开排成两行,如下T EOG S DY U T AEN NH LN ET AMS H VAED再将第二行字母分别放入第一行中,得到以下结果 THELONGEST DAY MUSTHAVE AN END。

扩展资料:

其他加密方法

替换加密法:用一个字符替换另一个字符的加密方法。

换位加密法:重新排列明文中的字母位置的加密法。

回转轮加密法:一种多码加密法,它是用多个回转轮,每个回转轮实现单码加密。这些回转轮可以组合在一起,在每个字母加密后产生一种新的替换模式。

多码加密法:一种加密法,其替换形式是:可以用多个字母来替换明文中的一个字母。

夹带法:通过隐藏消息的存在来隐藏消息的方法。

其它算法,如XOR、CA (流加密法)、MD5、SHA1、(流加密法)ElGamal、Diffie-Hellman、新型椭圆曲线算法ECC(数字签名、公匙加密法)等。

密码可运用于电脑里的文件保护,防止泄漏个人信息。

参考资料:百度百科-密码

如果使用易位密码,在密钥为HAVYG时thisisthenewquestion的密文是什么?

易位法:按照一定的规则,重新安排明文中的比特或字符顺序来形成密文,而字符本身保持不变。按易位单位不同分为:

比特易位:方法简单易行,可用硬件实现,主要用于数字通信中。

字符易位:利用密钥对明文进行易位后开成密文。

比如说你的例子,用一个比较好理解的方法用易位法帮你加密:

havyg按从a到z的顺序排序,A是1,G是2,H是3,V是4,Y是5

那么把你的明文thisisthenewquestion每5个排一行(你的密码是5个),可以得到下面的矩阵:

H A V Y G

3 1 4 5 2

t h i s i

s t h e n

e w q u e

s t i o n

然后就可以得到密文了:(按照编号从上下往下排序就得到密文)

htwtinentsesihqiseuo

当然这只是简单的易位法~~还有其他的一些方法,但基本上都是排成一个矩阵这样的

这个算法并不安全,所以没有必要花很长时间研究

你可以多研究研究像RSA这类的加密算法~

双层加密摩斯码的求解方法有哪些?

双层加密摩斯码的求解方法:

第一层 70232834340

第二层708232834340

下面我简单说一下这四种常见密码形式。

栅栏易位法,恺撒移位密码,进制转换密码,摩尔斯密码。

栅栏易位法。

即把将要传递的信息中的字母交替排成上下两行,再将下面一行字母排在上面一行的后边,从而形成一段密码。

恺撒移位密码。

也就是一种最简单的错位法,将字母表前移或者后错几位,

例如:

明码表:A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

密码表:D E F G H I J K L M N O P Q R S T U V W X Y Z A B C

这就形成了一个简单的密码表,如果我想写frzy(即明文),那么对照上面密码表编成密码也就是iucb(即密文)了。密码表可以自己选择移几位,移动的位数也就是密钥。

进制转换密码。

比如给你一堆数字,乍一看头晕晕的,你可以观察数字的规律,将其转换为10进制数字,然后按照每个数字在字母表中的排列顺序,拼出正确字母。

摩尔斯密码。

翻译不同,有时也叫摩尔密码。*表示滴,-表示哒,如下表所示比如滴滴哒就表示字母U,滴滴滴滴滴就表示数字5。另外请大家不要被滴哒的形式所困,我们实际出密码的时候,有可能转换为很多种形式,例如用0和1表示,迷惑你向二进制方向考虑,等等。

摩尔斯是我们生活中非常常见的一种密码形式,例如电报就用的是这个哦。作为一种信息编码标准,莫尔斯电码拥有其他编码方案无法超越的长久的生命。莫尔斯电码在海事通讯中被作为国际标准一直使用到1999年。下图就是摩尔斯密码。

以上就是这四种常见的密码形式,希望我的回答能对你有所帮助。