如何破解妻子的手机密码
在智湖看安德烈德手势密码加密原理的文章之前,我觉得它更有趣,所以我写了一个小程序来试试。
安卓手机破解手势密码技巧
安卓手势密码加密原理非常简单:
屏幕上每个点的第一个数字(通常是3×3):
00,01,02。
03,04,05 .
06,07,08 .
请注意这里的数字是十六进制的。
假设我在左边和下面画一个L,手势序列中点的顺序是00,03,06,07,08。
然后计算密文C=SHA-1(序列),并将结果写入/data /data/system/genure.key
如上所述��密文C应为c8 c0b 24 a15 DC 8db FD 411427973746230458 f 0160位的SHA-1哈希值。
但严格来说,这个过程不叫加密,它叫散列,因为SHA-1只是一个数据聚合算法,而不是加密算法。
裂纹原理。
你看,安卓手势加密非常简单和脆弱。
为什么它很脆弱,主要是因为没有足够的空间放钥匙!
简单计算:
手势代码应该连接至少4个点,最多9个点,忽略一些特殊的排列,使用排列组合公式进行计算。结果是:(注:P(n,M)代表从N个元素中选择的M个案例的总数)。
P(9,4) P(9,5).P(9,9)=985824 .
满了,不到100万,密钥空间太小,对计算机来说,是半秒钟。
根据上述原则,可以很容易地制定以下破解程序:
1。
阿沙-1哈希模块。
如果你知道密码学中的哈希算法,你可以自己写或者访问开放SSL、加密和其他库。
2。
用于计算排列和组合的模块。
这是关键,所以我会用更多的唾液来谈论它。
注意:以下算法是用C#实现的。
考虑到排列和组合的需要,我想到了两件我已经知道的事情:
1。
P(N,M)的计算可以如下计算:(注:C(n,M)表示从N个元素中选择M个进行组合的情况总数)。
P(n,m)=P(m,m)*C(n,m).
2。
Computing P(m,m)是算法类中前面提到的m个元素的总数,因此可以直接使用。
然后,您需要构建自己的算法来计算组合。
计算总排列数P(m,m):
假设您已经计算了集合{1,2,3}的所有排列,您可以这样做:首先取一个元素,如1,然后从剩余集合{2,3}中取2,剩下{3}。
因此,{1,2,3}的排列如下:
1 {2,3 }-;1,2{3}1,3{2} .
2{1,3 };2,1{3}2,3{1} .
3{2,1 };3,2{1}3,1{2} .
到目前为止,算法的思想已经很清楚了:集合中的每个元素依次与第一个元素交换,然后递归计算。
给出了以下代码:
无符号字符uint8;
#定义交换(a,b)\。
{\}
使用8吨;\
\\ .
t=a;\
a=b。\
b=t。\
}
无效替换(uint8*p,intn,intm)。
{
INT I;
if (n=m)。
{
for(I=0;I .=m。i≤) .
printf("x",p[i]);
相关文章:
黑客检查聊天记录要多少钱?查看微信上删除的聊天记录,看它们是否可靠
我需要如何操作才能知道我妻子是否在微信上与其他人聊天
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!