怎么破解老婆的手机密码?安卓手机破解手势密码技巧

  • 发表 2019-03-16 01:09:09
  • 阅读 66
  • 科技
在我在知乎上看到一篇关于Andriod的手势密码加密原理的文章之前,我认为它更有趣,所以我编写了一个迷你程序来尝试。

怎么破解老婆的手机密码

在我在知乎上看到一篇关于Andriod的手势密码加密原理的文章之前,我认为它更有趣,所以我编写了一个迷你程序来尝试。

安卓手机破解手势密码技巧

Android的手势密码加密原理很简单:

首先对屏幕上的每个点进行编号(通常为3 X 3):

00,01,02。

03,04,05。

06,07,08。

请注意,这里的数字是十六进制。

假设我沿着左边和下面画一个L,手势序列中点的顺序是00,03,06,07,08。

然后计算密文C=SHA-1(序列),并将结果写入/data/system/genure.key。

如上所述,密文C应该是c8c0b24a15dc8bbfd4114279735746230458f0160位的SHA-1散列值。

但严格地说,这个过程不叫加密,它叫散列,因为SHA-1只是一个数据汇总算法,而不是一个加密算法。

裂纹原理。

你看,Android的手势加密非常简单而且非常脆弱。

为什么它很脆弱,主要是因为钥匙空间太少了!

简单计算:

手势代码应至少连接4个点,最多9个点,忽略一些特殊的排列,用排列和组合公式计算,结果是:(注:P(n,M)表示从n个元素中选择m个情况的总数)。

P(9,4)+P(9,5)+。。+P(9,9)=985824。

满了,不到一百万,密钥空间太小,对于计算机来说,就是半秒钟。

根据上述原则,可以很容易地制定出以下开裂程序:

1.

一个SHA-1散列模块。

如果您了解密码学中的Hash算法,您可以自己编写它,也可以访问OpenSSL、crypto+等库。

2.

计算排列和组合的模块。

这就是关键,所以我会用更多的口水来谈论这件事。

注意:以下算法是用C#实现的。

考虑到排列和组合的需要,我想到了我已经知道的两件事:

1.

计算P(n,m)可计算如下:(注:C(n,m)表示选择n个元素中的m个进行组合的情况总数)。

P(n,m)=P(m,m)*C(n,m)。

2.

计算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;

如果(n=m)。

{

对于(i=0;i<;=m;i≤+)。

Printf(“%02X”,p[i]);

相关文章:

黑客查一次聊天记录多少钱?查微信删除的聊天记录靠谱吗

我需要怎样操作才知道自己老婆在微信上和别人聊天了没

管理员 管理员

190 篇文章

0 条评论