有。
用户可以登陆锤子解密器中心选择使用免费版,进行简单的操作即可进行一键解密,可以解开一些简单的数字密码。
锤子解密器是目前最火爆的软件,它支持分析电梯卡的数据,可延期可发卡可复制。由于开发加保护壳可能会杀毒误报,请放心使用,软件内能分析系统的到期时间,开始时间,楼层信息,可修改楼层及到期时间。
加多一个判断,当输入的长度小于指定长度的时候,出错;
如果超出指定长度,则取前几位,譬如指定6位,输入123, 出错;输入123456789,那就只处理123456,忽略后面的789
import java.util.HashMap;
import java.util.Map;
import java.util.Scanner;
public class Test {
public static void main(String[] args) throws Exception {
System.out.print("请输入加密(解密)和要处理的数字个数:1为加密,2为解密; ");
Scanner scanner = new Scanner(System.in);
String[] input1 = scanner.nextLine().split("\\s+");
String choice = input1[0];
int count = Integer.parseInt(input1[1]);
System.out.print("请输入要处理的数字,用空格隔开:");
String input = scanner.nextLine().replaceAll("\\s+", "");
if(input.length() count){
throw new Exception("不足" + count + "位数字,请检查输入");
}else if(input.length() count){
System.out.println("太多数字,将处理前" + count + "个数字:" +
input.substring(0, 6));
input = input.substring(0, 6);
}
if(choice.equals("1")){
if(input.length() count){
}
String encode = EncodeUtil.encode(input);
System.out.println("加密后的数字是: " + encode);
}else{
String decode = EncodeUtil.decode(input);
System.out.println("解密后的数字: " + decode);
}
}
}
class EncodeUtil{
private static MapString, String encodeMap = null;
private static MapString, String decodeMap = null;
public final static String encode(String strToEncode){
if(encodeMap == null){
encodeMap = new HashMapString, String();
encodeMap.put("0", "7");
encodeMap.put("1", "5");
encodeMap.put("2", "9");
encodeMap.put("3", "1");
encodeMap.put("4", "3");
encodeMap.put("5", "6");
encodeMap.put("6", "8");
encodeMap.put("7", "0");
encodeMap.put("8", "2");
encodeMap.put("9", "4");
}
StringBuilder sb = new StringBuilder();
for(int i = 0; i strToEncode.length(); i++){
sb.append(encodeMap.get(String.valueOf(strToEncode.charAt(i))));
}
return sb.toString();
}
public final static String decode(String strToDecode){
if(decodeMap == null){
decodeMap = new HashMapString, String();
decodeMap.put("7", "0");
decodeMap.put("5", "1");
decodeMap.put("9", "2");
decodeMap.put("1", "3");
decodeMap.put("3", "4");
decodeMap.put("6", "5");
decodeMap.put("8", "6");
decodeMap.put("0", "7");
decodeMap.put("2", "8");
decodeMap.put("4", "9");
}
StringBuilder sb = new StringBuilder();
for(int i = 0; i strToDecode.length(); i++){
sb.append(decodeMap.get(String.valueOf(strToDecode.charAt(i))));
}
return sb.toString();
}
}
------------------测试
C:\Program Files\IBM\RAD 7\jdk\binjava Test
请输入加密(解密)和要处理的数字个数:1为加密,2为解密; 1 6
请输入要处理的数字,用空格隔开:1 2 3
Exception in thread "main" java.lang.Exception: 不足6位数字,请检查输入
at Test.main(Test.java:19)
C:\Program Files\IBM\RAD 7\jdk\binjava Test
请输入加密(解密)和要处理的数字个数:1为加密,2为解密; 1 6
请输入要处理的数字,用空格隔开:1 2 3 4 5 6 7
太多数字,将处理前6个数字:123456
加密后的数字是: 591368
C:\Program Files\IBM\RAD 7\jdk\binjava Test
请输入加密(解密)和要处理的数字个数:1为加密,2为解密; 1 6
请输入要处理的数字,用空格隔开:1 9 9 7 7 1
加密后的数字是: 544005
C:\Program Files\IBM\RAD 7\jdk\binjava Test
请输入加密(解密)和要处理的数字个数:1为加密,2为解密; 2 6
请输入要处理的数字,用空格隔开:5 4 4 0 0 5
解密后的数字: 199771
PKI(Public Key Infrastructure 的缩写)是一种遵循既定标准的密钥管理平台,它能够为所有网络应用提供加密和数字签名等密码服务及所必需的密钥和证书管理体系。 原有的单密钥加密技术采用特定加密密钥加密数据,而解密时用于解密的密钥与加密密钥相同,这称之为对称型加密算法。采用此加密技术的理论基础的加密方法如果用于网络传输数据加密,则不可避免地出现安全漏洞。因为在发送加密数据的同时,也需要将密钥通过网络传输通知接收者,第三方在截获加密数据的同时,只需再截取相应密钥即可将数据解密使用或进行非法篡改。 区别于原有的单密钥加密技术,PKI采用非对称的加密算法,即由原文加密成密文的密钥不同于由密文解密为原文的密钥,以避免第三方获取密钥后将密文解密。 CA: CA是证书的签发机构,它是PKI的核心。CA是负责签发证书、认证证书、管理已颁发证书的机关。它要制定政策和具体步骤来验证、识别用户身份,并对用户证书进行签名,以确保证书持有者的身份和公钥的拥有权。 CA 也拥有一个证书(内含公钥)和私钥。网上的公众用户通过验证 CA 的签字从而信任 CA ,任何人都可以得到 CA 的证书(含公钥),用以验证它所签发的证书。 如果用户想得到一份属于自己的证书,他应先向 CA 提出申请。在 CA 判明申请者的身份后,便为他分配一个公钥,并且 CA 将该公钥与申请者的身份信息绑在一起,并为之签字后,便形成证书发给申请者。 如果一个用户想鉴别另一个证书的真伪,他就用 CA 的公钥对那个证书上的签字进行验证,一旦验证通过,该证书就被认为是有效的。 证书:证书实际是由证书签证机关(CA)签发的对用户的公钥的认证。 证书的内容包括:电子签证机关的信息、公钥用户信息、公钥、权威机构的签字和有效期等等。目前,证书的格式和验证方法普遍遵循X.509 国际标准。 加密: 我们将文字转换成不能直接阅读的形式(即密文)的过程称为加密。 解密: 我们将密文转换成能够直接阅读的文字(即明文)的过程称为解密。 如何在电子文档上实现签名的目的呢?我们可以使用数字签名。RSA公钥体制可实现对数字信息的数字签名,方法如下: 信息发送者用其私钥对从所传报文中提取出的特征数据(或称数字指纹)进行RSA算法操作,以保证发信人无法抵赖曾发过该信息(即不可抵赖性),同时也确保信息报文在传递过程中未被篡改(即完整性)。当信息接收者收到报文后,就可以用发送者的公钥对数字签名进行验证。 在数字签名中有重要作用的数字指纹是通过一类特殊的散列函数(HASH函数) 生成的。对这些HASH函数的特殊要求是: 1.接受的输入报文数据没有长度限制; 2.对任何输入报文数据生成固定长度的摘要(数字指纹)输出; 3.从报文能方便地算出摘要; 4.难以对指定的摘要生成一个报文,而由该报文可以算出该指定的摘要; 5.难以生成两个不同的报文具有相同的摘要。 验证: 收方在收到信息后用如下的步骤验证您的签名: 1.使用自己的私钥将信息转为明文; 2.使用发信方的公钥从数字签名部分得到原摘要; 3.收方对您所发送的源信息进行hash运算,也产生一个摘要; 4.收方比较两个摘要,如果两者相同,则可以证明信息签名者的身份。 如果两摘要内容不符,会说明什么原因呢? 可能对摘要进行签名所用的私钥不是签名者的私钥,这就表明信息的签名者不可信;也可能收到的信息根本就不是签名者发送的信息,信息在传输过程中已经遭到破坏或篡改。 数字证书: 数字证书为实现双方安全通信提供了电子认证。在因特网、公司内部网或外部网中,使用数字证书实现身份识别和电子信息加密。数字证书中含有密钥对(公钥和私钥)所有者的识别信息,通过验证识别信息的真伪实现对证书持有者身份的认证。 使用数字证书能做什么? 数字证书在用户公钥后附加了用户信息及CA的签名。公钥是密钥对的一部分,另一部分是私钥。公钥公之于众,谁都可以使用。私钥只有自己知道。由公钥加密的信息只能由与之相对应的私钥解密。为确保只有某个人才能阅读自己的信件,发送者要用收件人的公钥加密信件;收件人便可用自己的私钥解密信件。同样,为证实发件人的身份,发送者要用自己的私钥对
4194418141634192622374
大家注意一下这组数字 最大的是数字的范围是1-9
手机上一共有10个数字按键 其中0和1不对应任何字母
所以不存在0 而为什么会有1呢?
大家在仔细看一下,如果将数字从左到右编序号,12345直到22
有没有发现奇数编号对应的数字没有1
所以奇数编号的数字应该是对应有字母的手机按键
而所有偶数编号对应的数字都是1234
为什么只有1234?大家再看看手机,所有有字母的按键 最多只有4个字母,所以偶数编号的字母对应的是按键上的第几个字母。
按照这个方法我们来看下这串数字 xx94xxxxxxx74
这是仅有的两个偶数编号的4 相对应9和7
你们再看看手机 只有按键9和7才对应4个字母 其它的都只对应3个
--------------------------------------------------------------------------------
4
我重新整合了这个解密步骤。
如下。
38楼给我的提示。还是让我想到了手机。
你们看解码出来分组后的数字分别是,
41 94 41 81 41 63 41 92 62 23 74
并且每个组合个位数都不超过4。
特别是除了十位数是7和9这两个数字后面有4以外其他的都没有4。
看图。
手机的键盘上7和9的字母也是4个的,其他的都不超过4个字母。
那么,按照上面的组合解码可得。
G Z G T G O G X N C S
解码后我们发现每一组数字都能解释出来。
目前我只能解码到这里的。
虽然很不通顺,但我相信这里应该是个突破点。
93楼的键盘代入也给了我很大的提示。
包括楼主的“她说途中有一个步骤是"替代密码"而密码表则是我们人类每天都可能用到的东西”
那么很可能就是电脑键盘。
因为QWE的格式是被世人所认可的,也就有可能成为密码的码表。
码表 QWE=ABC依次类推。
那么解码G Z G T G O G X N C S
就是G=O Z=T G=O T=E G=O O=I G=O X=U N=Y C=V S=L
翻译过来就是 O T O E O I O U Y V L
其实到这里就已经大概知道答案是什么了。
按照逻辑来整理,只要你重组这些字母的时候你就看到了。
虽然重组有很多种例如,LV IOU ET OOO
可是这些没有语言性质。因为楼主说过最终答案是英语。
所以唯一一个符合逻辑的答案应该是I LOVE YOU TOO.
可是我还不确定。
因为这里我才解了第3层就已经看出答案了。
所以我决定用O T O E O I O U Y V L
进行再次解码。
我用了很多种解码方法。
凯撒,乘法等等。。
最后我发现了只有栅栏才能读得通。
分成两排
O T O E O I
O U Y V L
重组后,OOTUOYEVOLI。
然后倒序,ILOVEYOUTOO.
I LOVE YOU TOO.就自然而然的出来了。
最后我才肯定密码就是I LOVE YOU TOO.
最后的最后,我敢肯定楼主有一个非触摸屏的手机,并且键盘一定是标准格式的。
而且应该有一台笔记本或者你经常接触电脑。
另外楼主和楼主的女人关系应该是认识很久的那种,而不是一见钟情。
而且楼主告白的时候应该有用到I LOVE YOU 或者我爱你之类的字眼。
对不对阿?
呼.
好累啊..
祝楼主幸福咯.
因为她是爱你的!!
这个加密使用AES加密的,必须使用密钥才能解密。AES256的加密强度非常高,靠逆向是不可能得到明文的。狙击豹U盘加密防拷贝软件使用的就是AES加密算法,所以无法破解。具体可参考狙击豹软件网站吧
WINRAR压缩文件的破解
针对WINRAR压缩文件,Elcomsoft公司也推出了“Advanced RAR Password Recovery”,该软件解密速度很快,可以帮你找回RAR文件的密码,注册后可以解开多达128位密码。它提供有预估算出密码所需要的时间;可中断计算与恢复继续前次的计算。然而到黑客手里也就变成了一个破解的工具,其具体使用方法与“Advanced ZIP Password Recovery”大致相同,这里不多介绍了。
3. 当心“多功能密码破解软件”作祟
此外,目前还有一款名为“多功能密码破解软件”的工具值得大家注意,也是黑客经常使用的。该软件可以破解Access97/2000/xp密码,Word/Excel97/2000/xp、QQ(本地和在线)、SQLSERVER(本地和远程)、windows98登陆密码、ZIP/RAR文件密码,星号密码察看,可以察看任何显示为*的密码内容(网页除外)。ZIP/RAR文件密码也难逃该软件一“劫”!下面看看黑客到底是如何利用这个工具兴风作浪的。
黑客安装并运行该软件,切换到“ZIP/RAR”选项
点击“浏览”按钮找到本地硬盘上要破解的ZIP/RAR文件,然后需要进行以下的设置:
(1)“破解位数设置”:你可以设置好密码最小长度和密码最大长度。
(2)“破解字符设置”:你可以选择是用数字、小写字母、大写字母中一个或者多个,这需要根据设置的压缩包的密码来进行选择,当然,如果都选的话,那么破解的速度肯定更慢,花费的时间也更长。
设置完毕后,点击“开始”按钮即可进行破解,经过一段时间的破解后,最后在“进度”框中显示破解的密码,
三、巧妙设置,让压缩文件无懈可击
除了用来压缩文件,我们还常常把WinRAR、WINZIP当作一个加密软件来使用,在压缩文件的时候设置一个密码就可以达到保护数据的目的了。正因为如此,专门针对压缩文件密码的破解软件也是遍地开花。密码的长短对于现在的破解软件来说,已经不是最大的障碍了。那么,怎样才可以让压缩加密的文件牢不可破呢? 除了做好日常的安全防范工作外,我们还要巧妙进行以下设置:
现在的破解软件在破解加密文件密码的时候总要指定一个Encrypted File(目标文件),然后根据字典使用穷举法来破解密码。但是如果我们将多个需要加密的文件压缩在一起,然后为每一个文件设置不同的密码,那破解软件就无可奈何了,具体操作如下:
1.按照常规的方法把它压缩并且设置一个密码;
2.准备一个其他文件(当然这个文件小一点最好了,因为我们只是利用它来迷惑破解软件而已);
3.在WinRAR的工作窗口中打开我们第一步已经压缩好的加密文件,在“命令”菜单中选择“添加文件到压缩包”菜单选项
4.在弹出的“请选择要添加的文件”对话框中选择我们准备的“其他文件”,点击“确定”按钮后回到“压缩文件名字和参数”对话框;
5.在“高级”选项卡标签中点击“设置密码”按钮设置一个不同的密码,然后开始压缩即可
经过以上步骤,现在两个密码已经设置完成了(如果添加了多个文件,也可以给每个文件设置不同的密码,如果你担心自己会忘记,只设两个密码也可以达到目的)。打开压缩文件可以看到每一个文件名的右上角都有一个表示加密的星号,但是打开其中不同的文件都需要相对应的密码,使用破解软件是得不到正确密码的。这种方法对用WinZip加密的文件同样可以用。