本文目录一览:
求破解加密算法的方法
要看是用什么加密了。。如果是一般的算法,或许通过观察能找到规律。
如果是md5.。。用md5算法跑一次就可以了。具体md5怎么通过4次轮循
转换的可以百科看下。说到底就是一种hash.
设置一个密码怎么破解的算法
密码算法是用于加密和解密的数学函数,密码算法是密码协议的基础。现行的密码算法主要包括序列密码、分组密码、公钥密码、散列函数等,用于保证信息的安全,提供鉴别、完整性、抗抵赖等服务。假设我们想通过网络发送消息P(P通常是明文数据包),使用密码算法隐藏P的内容可将P转化成密文,这个转化过程就叫做加密。
与明文P相对应的密文C的得到依靠一个附加的参数K,称为密钥。
密文C的接收方为恢复明文,需要另一个密钥K-1完成反方向的运算。这个反向的过程称为解密。
求大神帮忙写一个暴力破解算法,c或Java都行,密码由数字和字母组成,最大密码长度10位最小一位?
import org.junit.Test;
public class T {
//最小长度
private int min = 1;
//最大长度
private int max = 10;
//准备数字,大小写
private char[] psw = {'0','1','2','3','4','5','6','7','8','9','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','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'};
@Test
public void t(){
for(int i=min; i=max; i++){
permutation(psw, i);
}
}
/**
* 全排列入口
* @param array 密码数据
* @param n 密码长度
*/
private void permutation(char[] array, int n) {
permutation("", array, n);
}
/**
*
* @param s 已生成临时字串
* @param array 密码数据
* @param n 剩余未生成的字符长度
*/
private void permutation(String s, char[] array, int n) {
if(n == 1) {
for(int i=0; iarray.length; i++) {
//这是密码结果
String result = s+array[i];
System.out.println(result);
}
} else {
for(int i=0; iarray.length; i++) {
permutation(s+array[i], array, n-1);
}
}
}
}
不过建议不要暴力,有针对性会好一点