`
huobengle
  • 浏览: 860637 次
文章分类
社区版块
存档分类
最新评论

Crazy Test: How much time will be consume to exhaustive 16 bits numeral for all possible?

 
阅读更多

Scenario:

This is a interesting personal testing during my job. I have been had a question about code-breaking. And I always want to find out how many time will be consume if a person want to use the method of exhaustion to crack a 16 bits password.

OK, following is my testing. If someone wants to crack a 16 bits password with the method of exhaustion. He/She has to generate 16 bit sequence in real time. (Of course, you can use password dictionary instead of generate sequence in real time. But that will be took up many space on your disk.)

To simplify our question, I developed a simple code to generate 8 bits sequence with recursion.

Code:

Invoking:
<!--
.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }
--><!--
.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }
-->

Result:

Now, you can see that it will spend 8 seconds to trave all 8 bit sequence. There must be 100,000,000 possibilities. So, if someone wants to trave all possibilities for 16 bit sequence, there should be 10,000,000,000,000,000 = 100,000,000 X 100,000,000 numbers. Therefore, it’s not hard to estimate the time consuming should be 8X100,000,000=800,000,000 second.

To be clear, 800,000,000 seconds = 800,000,000/60/60/24/365 = 25.3678 years.

25 years is really a huge time consuming to generate 16 bit numeral. In this case, we didn’t consider time consuming on other resource, like Network Communication Consume, the Max of System Continuous Running… In addition, if one password includes alphabet, numeral and punctuation, the work will be more terrible.

To summary, I think we can say that if we want to crack a 16 bit sequence, we must find out an faster way to generate these sequences. Otherwise, we have to wait untill 25 years later.

This is a quick testing for my interesting. If you have any good idea, please kindly share with me.

Thanks!

Xianyi.Ye

yexianyi@hotmail.com

分享到:
评论

相关推荐

    How To Consume A Gateway Service

    How To Consume A Gateway Service In JavaScript

    The Majesty Of Vue.js Paperback – October 28, 2016

    and that its integration can save you a lot of time and effort This book will guide you through the path of the rapidly spreading JavaScript Framework Vue.js Who This Book Is For This book is for ...

    php.ini-development

    Output buffering is a mechanism for controlling how much output data ; (excluding headers and cookies) PHP should keep internally before pushing that ; data to the client. If your application's ...

    Spring.REST.1484208242

    You will learn how to build clients that consume REST services. Finally, you will learn how to use the Spring MVC test framework to unit test and integration test your REST API. After reading this ...

    微软内部资料-SQL性能优化2

    At the end of this module, you will be able to:  Define the common terms associated the memory, I/O, and CPU subsystems.  Describe how SQL Server leverages the Microsoft Windows® operating system...

    SAP HANA Cookbook

    the GUI which will be used throughout the book for almost all the recipes. Chapter 2, Data Provisioning, provides recipes on how to load data into SAP HANA using different tools. The source system ...

    CakePHP 1.3 Application Development Cookbook.pdf

    we master all aspects of how model bindings can be manipulated to get the data we need, when we need it. Preface 2 In order to do so, we will go through a series of recipes that will show us how to ...

    TypeScript 2.x for Angular Developers-Packt Publishing(2017).epub

    We will also see how to use typed DOM events (for example, click, mouseover, and keydown) to respond to user interactions. Chapter 9, Writing Modules, Directives, and Pipes with TypeScript, ...

    Microsoft Remote Desktop for Mac

    Support for all possible values of the "EnableCredSspSupport" and "Authentication Level" RDP file settings if the ClientSettings.EnforceCredSSPSupport user default is set to 0. Support for the "Prompt...

    Android Best Practices

    How to use Android design patterns for consistent UI experience on many devicesHow to use Agile techniques such as Test Driven Development, Behavior Driven Development and Continuous Integration How ...

    Microsoft Remote Desktop for Mac Version 10.2.2 (1268)

    Support for all possible values of the "EnableCredSspSupport" and "Authentication Level" RDP file settings if the ClientSettings.EnforceCredSSPSupport user default is set to 0. Support for the "Prompt...

    Go Modules.docx

    How to Prepare for a Release (All Versions) How to Prepare for a Release (v2 or Higher) Publishing a Release Migrating to Modules Additional Resources Changes Since the Initial Vgo Proposal GitHub ...

    VMware vSphere 6.5 Cookbook 3rd Edition.pdf

    Chapter 1, Upgrading to vSphere 6.5, will teach you how to upgrade your existing environment to the vSphere 6.5, and you will also learn how to migrate vCenter running onWindows to appliance. ...

    Beginning T-SQL with Microsoft SQL Server 2005 and 2008

    Database solution designers will find this book to be a thorough introduction and comprehensive reference for all aspects of database modeling, design, object management, query design, and advanced ...

    Consume

    Consume

    Foundation XML and E4X for Flash and Flex

    In the first, you will learn how to consume and display information and images from Flickr using Flash. In the second, you will work with Adobe Kuler in Flex. Whether you are a designer or developer...

    How to create a COM object using VS 2008 and consume it from VB 6.0 client application

    How to create a COM object using VS 2008 and consume it from VB 6.0 client application.

    polycom宝利通视频会议软件3.9 2018

    Unless otherwise agreed in writing by POLYCOM, by accepting these terms or by installing, downloading, copying, or otherwise using the SOFTWARE PRODUCT, you agree to be and will be bound by the terms ...

Global site tag (gtag.js) - Google Analytics