나는 고객이 단어와 같은 탁월한 문서에 배치 된 비밀번호를 복구하는 데 도움이되는 프로그램을 만들고 있습니다. 이 프로그램은 잘 작동하지만 무료 제품을 다운로드 할 수있는 비슷한 제품보다 훨씬 느립니다. 내가 무료로 다운로드 할 수있는 많은 프로그램이 완전히 안전하지 않고 내가 갖고 싶은 제어 장치가 부족하다고 생각하기 때문에 자신의 프로그램을 사용하고 싶습니다.비밀번호 분쇄를위한 최적의 루프
기타 ... 내 프로그램이 왜 그렇게 느린 지 알아내는 데 도움이 필요합니다. 나는 간단한 3 글자 암호 "TFX"로 Excel 문서를 만들었습니다. 다운로드 한 프로그램은 '이동'을 클릭 한 후 마우스 버튼을 놓을 수있는 최대한 빨리 비밀번호를 찾습니다. 내 프로그램에는 10 분이 걸립니다. 다음은 3 자 루프입니다.
private string ThreeCharPass(string file, Microsoft.Office.Interop.Excel.Application exApp, char[] combarr)
{
for (int three = 0; three < combarr.Length; three++)
{
for (int two = 0; two < combarr.Length; two++)
{
for (int one = 0; one < combarr.Length; one++)
{
try
{
string pass = combarr[three].ToString() + combarr[two].ToString() + combarr[one].ToString();
exApp.Workbooks.Open(file, false, true, Type.Missing, pass, Type.Missing, true, Type.Missing, Type.Missing, false, false, Type.Missing, Type.Missing, Type.Missing, Type.Missing);
return pass;
}
catch
{
}
}
}
}
return string.Empty;
}
'combarr'은 암호의 가능한 모든 문자를 포함하는 문자 배열입니다. 사용자가 선택한 옵션을 기반으로 프로그램의 앞 부분에서 생성됩니다. 나는 암호 조합을 생성하기 위해 어레이를 반복하는 방식으로 문제가 발생한다고 생각한다.이 3 문자 암호 방법으로 다른 '전문'프로그램이 초를 소비하는 곳에서 5 분 이상을 소비하기 때문이다. 모든 의견을 크게 주시면 감사하겠습니다!
클라이언트가 잠재적으로 개인 데이터를 무력화하도록 돕는 프로그램을 만들고 있습니까? –
필자가 생각하기에, 독점적 인 시스템은 암호 저장 방법/암호화 알고리즘에 대한 지식을 바탕으로 접근 방식을 기반으로하고 있으며, 필연적으로 훨씬 느린 무차별 대입 방식을 사용합니다. –
숫자 정리를 수행하기 위해 매우 높은 추상화 (Exel interop, IO 파일 처리, 예외 처리)를 사용하고 있습니다. 이것은 잘못된 접근법입니다. – Gleno