导航:首页 > 文档加密 > 12位是由啥加密的

12位是由啥加密的

发布时间:2025-02-12 11:41:41

‘壹’ 6至12位数字和字母组成密码怎么设

如aabb89。6至12位数字和字母组成的密码是位数要超过6位,然后需要由字母和数字组合。

如果你用bb99,少于6位,不能设置密码。如果你用GGHJKL,也不行,都是字母,没有数字。一定要用数字和字母组合。

(1)12位是由啥加密的扩展阅读

密码的加密方法:

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

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

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

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

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

6、其它算法,如XOR、CA (流加密法)、MD5、SHA1、(流加密法)ElGamal、Diffie-Hellman、新型椭圆曲线算法ECC(数字签名、公匙加密法)等。密码可运用于电脑里的文件保护,防止泄露个人信息。

‘贰’ 密码学基础(三):非对称加密(RSA算法原理)

加密和解密使用的是两个不同的秘钥,这种算法叫做非对称加密。非对称加密又称为公钥加密,RSA只是公钥加密的一种。

现实生活中有签名,互联网中也存在签名。签名的作用有两个,一个是身份验证,一个是数据完整性验证。数字签名通过摘要算法来确保接收到的数据没有被篡改,再通过签名者的私钥加密,只能使用对应的公钥解密,以此来保证身份的一致性。

数字证书是将个人信息和数字签名放到一起,经由CA机构的私钥加密之后生成。当然,不经过CA机构,由自己完成签名的证书称为自签名证书。CA机构作为互联网密码体系中的基础机构,拥有相当高级的安全防范能力,所有的证书体系中的基本假设或者前提就是CA机构的私钥不被窃取,一旦 CA J机构出事,整个信息链将不再安全。

CA证书的生成过程如下:

证书参与信息传递完成加密和解密的过程如下:

互质关系:互质是公约数只有1的两个整数,1和1互质,13和13就不互质了。
欧拉函数:表示任意给定正整数 n,在小于等于n的正整数之中,有多少个与 n 构成互质关系,其表达式为:

其中,若P为质数,则其表达式可以简写为:

情况一:φ(1)=1
1和任何数都互质,所以φ(1)=1;

情况二:n 是质数, φ(n)=n-1
因为 n 是质数,所以和小于自己的所有数都是互质关系,所以φ(n)=n-1;

情况三:如果 n 是质数的某一个次方,即 n = p^k ( p 为质数,k 为大于等于1的整数),则φ(n)=(p-1)p^(k-1)
因为 p 为质数,所以除了 p 的倍数之外,小于 n 的所有数都是 n 的质数;

情况四:如果 n 可以分解成两个互质的整数之积,n = p1 × p2,则φ(n) = φ(p1p2) = φ(p1)φ(p2)

情况五:基于情况四,如果 p1 和 p2 都是质数,且 n=p1 × p2,则φ(n) = φ(p1p2) = φ(p1)φ(p2)=(p1-1)(p2-1)

而 RSA 算法的基本原理就是欧拉函数中的第五种情况,即: φ(n)=(p1-1)(p2-1);

如果两个正整数 a 和 n 互质,那么一定可以找到整数 b,使得 ab-1 被 n 整除,或者说ab被n除的余数是1。这时,b就叫做a的“模反元素”。欧拉定理可以用来证明模反元素必然存在。

可以看到,a的 φ(n)-1 次方,就是a对模数n的模反元素。

n=p x q = 3233,3233写成二进制是110010100001,一共有12位,所以这个密钥就是12位。

在实际使用中,一般场景下选择1024位长度的数字,更高安全要求的场景下,选择2048位的数字,这里作为演示,选取p=61和q=53;

因为n、p、q都为质数,所以φ(n) = (p-1)(q-1)=60×52= 3120

注意,这里是和φ(n) 互互质而不是n!假设选择的值是17,即 e=17;

模反元素就是指有一个整数 d,可以使得 ed 被 φ(n) 除的余数为1。表示为:(ed-1)=φ(n) y --> 17d=3120y+1,算出一组解为(2753,15),即 d=2753,y=-15,也就是(17 2753-1)/3120=15。

注意,这里不能选择3119,否则公私钥相同??

公钥:(n,e)=(3233,2753)
私钥:(n,d)=(3233,17)

公钥是公开的,也就是说m=p*q=3233是公开的,那么怎么求e被?e是通过模反函数求得,17d=3120y+1,e是公开的等于17,这时候想要求d就要知道3120,也就是φ(n),也就是φ(3233),说白了,3233是公开的,你能对3233进行因数分解,你就能知道d,也就能破解私钥。

正常情况下,3233我们可以因数分解为61*53,但是对于很大的数字,人类只能通过枚举的方法来因数分解,所以RSA安全性的本质就是:对极大整数做因数分解的难度决定了RSA算法的可靠性。换言之,对一极大整数做因数分解愈困难,RSA算法愈可靠。

人类已经分解的最大整数是:

这个人类已经分解的最大整数为232个十进制位,768个二进制位,比它更大的因数分解,还没有被报道过,因此目前被破解的最长RSA密钥就是768位。所以实际使用中的1024位秘钥基本安全,2048位秘钥绝对安全。

网上有个段子:

已经得出公私钥的组成:
公钥:(n,e)=(3233,2753)
私钥:(n,d)=(3233,17)
加密的过程就是

解密过程如下:

其中 m 是要被加密的数字,c 是加密之后输出的结果,且 m < n ,其中解密过程一定成立可以证明的,这里省略证明过程。

总而言之,RSA的加密就是使用模反函数对数字进行加密和求解过程,在实际使用中因为 m < n必须成立,所以就有两种加密方法:

对称加密存在虽然快速,但是存在致命的缺点就是秘钥需要传递。非对称加密虽然不需要传递秘钥就可以完成加密和解密,但是其致命缺点是速度不够快,不能用于高频率,高容量的加密场景。所以才有了两者的互补关系,在传递对称加密的秘钥时采用非对称加密,完成秘钥传送之后采用对称加密,如此就可以完美互补。

‘叁’ 数据库应用多少位存md5加密后的密码例如12位密码加密后也是12位吗

常见的有16位和32位.......12位数如果是用16位加密.显示的是16位.32也一样.

‘肆’ ★sql server数据库里什么加密算法加密后为12位数字

for i = 1 to len
p_pass = string(asc(mid(parent.sle_2.text,i,1))) + p_pass
next
//的意思是从左到右依次取出parent.sle_2.text内的字符,将他们转换为asc码后,从右到左存入p_pass中(先取出的先存进)
解密就是,把asc码转换为字符,再倒序就是密码了.
关键在于找出数字密码中正确的asc码.
理论上ASCⅡ码是从0-127,但是实际上只用判断33-126。
密码的asc码范围在33-126中,所以只用判断每两位的首位是否大于1,大于1则取两位,否则取3位,然后从剩下位置的开始从新判断

定义数组a //用于存入数字密码
定义数组b //用于保存结果,
定义ii = 0 //数组b下标,初始化为0
定义函数f(i) //参数i为数组a下标
f(0) //调用函数,初始参数为0
f(i) //函数实现
{
判断a[i]是否为空,不为空则
{
判断如果a[i]>1
b[ii]=a[i]+a[i+1]
ii++
f(i+1)
否则
b[ii]=a[i]+a[i+1]+a[i+2]
ii++
f(i+2)
}
否则a[i]为空,退出函数
}
得到数组b每个元素保存的就是正确的asc码,
将asc码转换为对应字符,倒序,就是你要的结果了.

由于不清楚使用的什么语言,所以我没有直接写出代码,不过上面的解释已经够清楚了吧,
另:这个加密算法非常简单,
但是如果不是我想的这么简单,mid(),asc(),string()被重载过了,很遗憾你必须找出他们的重载函数,才能对症下药,我这里的方法就要改变了

‘伍’ 非对称加密之-RSA加密

对一个大整数进行因数分解,在高等数学中叫做费马大定理,至今没有被破解
RSA算法是最流行的公钥密码算法,使用长度可以变化的密钥。RSA是第一个既能用于数据加密也能用于数字签名的算法。

这是目前地球上最重要的加密算法

至此,所有计算完成。
将 n和e封装成公钥 , n和d封装成私钥 。

回顾上面的密钥生成步骤,一共出现六个数字:

这六个数字之中,公钥用到了两个(n和e),其余四个数字都是不公开的。其中最关键的是d,因为n和d组成了私钥,一旦d泄漏,就等于私钥泄漏。
那么, 有无可能在已知n和e的情况下,推导出d?

最终转换成->结论: 如果n可以被因数分解,d就可以算出,也就意味着私钥被破解。

第一步 :首先生成秘钥对

第二步 :公钥加密

第三步 :私钥解密

几个全局变量解说:

关于加密填充方式:之前以为上面这些操作就能实现rsa加解密,以为万事大吉了,呵呵,这事还没完,悲剧还是发生了, android这边加密过的数据,服务器端死活解密不了, ,这造成了在android机上加密后无法在服务器上解密的原因,所以在实现的时候这个一定要注意

实现分段加密:搞定了填充方式之后又自信的认为万事大吉了,可是意外还是发生了,RSA非对称加密内容长度有限制,1024位key的最多只能加密127位数据,否则就会报错(javax.crypto.IllegalBlockSizeException: Data must not be longer than 117 bytes) ,RSA 是常用的非对称加密算法。最近使用时却出现了“不正确的长度”的异常,研究发现是由于待加密的数据超长所致。RSA 算法规定:待加密的字节数不能超过密钥的长度值除以 8 再减去 11(即:KeySize / 8 - 11),而加密后得到密文的字节数,正好是密钥的长度值除以 8(即:KeySize / 8)。

爱丽丝选择了61和53。(实际应用中,这两个质数越大,就越难破解。)

爱丽丝就把61和53相乘

n的长度就是密钥长度。3233写成二进制是110010100001,一共有12位,所以这个密钥就是12位。实际应用中,RSA密钥一般是1024位,重要场合则为2048位

爱丽丝算出φ(3233)等于60×52,即3120。

爱丽丝就在1到3120之间,随机选择了17。(实际应用中,常常选择65537。)

所谓 "模反元素" 就是指有一个整数d,可以使得ed被φ(n)除的余数为1。

这个式子等价于

于是,找到模反元素d,实质上就是对下面这个二元一次方程求解。

已知 e=17, φ(n)=3120,

至此所有计算完成

在爱丽丝的例子中,n=3233,e=17,d=2753,所以公钥就是 (3233,17),私钥就是(3233, 2753)。

实际应用中,公钥和私钥的数据都采用 ASN.1 格式表达

回顾上面的密钥生成步骤,一共出现六个数字:

这六个数字之中,公钥用到了两个(n和e),其余四个数字都是不公开的。其中最关键的是d,因为n和d组成了私钥,一旦d泄漏,就等于私钥泄漏。
那么,有无可能在已知n和e的情况下,推导出d?

结论:如果n可以被因数分解,d就可以算出,也就意味着私钥被破解。

可是,大整数的因数分解,是一件非常困难的事情。目前,除了暴力破解,还没有发现别的有效方法。维基网络这样写道

举例来说,你可以对3233进行因数分解(61×53),但是你没法对下面这个整数进行因数分解。

它等于这样两个质数的乘积

事实上,RSA加密的方式原理是一个高等数学中没有被解决的难题,所有没有可靠的RSA的破解方式

阅读全文

与12位是由啥加密的相关的资料

热点内容
megawin单片机 浏览:685
以色列加密货币监督 浏览:907
程序员前端现在怎么样 浏览:497
服务器和接口地址ping不通 浏览:555
linux命令返回上级目录 浏览:897
移动花卡宝藏版为什么不能选免流app 浏览:255
速腾carplay怎么用安卓 浏览:13
红塔银行app怎么样 浏览:564
农行app怎么开网银 浏览:651
java迭代器遍历 浏览:303
闽政通无法请求服务器是什么 浏览:48
怎么做积木解压神器 浏览:205
王者荣耀解压玩具抽奖 浏览:49
12位是由啥加密的 浏览:872
程序员编迷你世界代码 浏览:898
php取现在时间 浏览:248
单片机高吸收 浏览:430
怎么区分五代头是不是加密喷头 浏览:247
hunt测试服务器是什么意思 浏览:512
2013程序员考试 浏览:641