<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//DE">
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<meta http-equiv=“cache-control“ content=“no-cache“>
<meta http-equiv=“pragma“ content=“no-cache“>
<meta http-equiv=“expires“ content=“0″>
<meta name="viewport" content="width=device-width, height=device-height, initial-scale=1.0">
<title>crack.sh Token</title>
</head>
<body style="background-color: orange">
<h3>ECW:DCW to crack.sh DES token creator by name007</h3>
ECW :<input type="text" id="inpecw"><br>
DCW :<input type="text" id="inpdcw"><br>
<button onclick="createtoken ()">Create crack.sh Token</button>
<div id="ausgabe"></div><br>
<h3>Parity Bit Calculator for 56bit DES keys from crack.sh</h3>
56bit key from crack.sh (after inserting the key, click outsite of the input field) :<input type="text" id="deskey56" onchange="deskeycalc (this.value)"><br>
<div id="deskey64"></div>
<script>
function getbits (d)
{
var a = parseInt (d.substr (0,4),16).toString (2),b = parseInt (d.substr (4,4),16).toString (2),c = parseInt (d.substr (8,4),16).toString (2),d = parseInt (d.substr (12,2),16).toString (2) ;
while (a.length < 16)
a = "0"+a ;
if (a.length > 16)
console.log ("a = "+a) ;
while (b.length < 16)
b = "0"+b ;
if (b.length > 16)
console.log ("b = "+b) ;
while (c.length < 16)
c = "0"+c ;
if (c.length > 16)
console.log ("c = "+c) ;
while (d.length < 8)
d = "0"+d ;
if (d.length > 8)
console.log ("d = "+d) ;
return a+b+c+d ;
}
function deskeycalc (d)
{
if (d.length != 14)
{
document.getElementById ("deskey64").innerHTML = "Deskey from crack.sh has 56 bits. Your key : "+((d.length)*4)+" bits" ;
return ;
}
var bits = getbits (d),i,j,bv,count,bits64 = "",tmp ;
while (bits.length < 56)
bits = "0"+bits ;
for (i = 0 ; i < 8 ; i++)
{
bv = bits.substr (i*7,7) ;
count = 1 ;
for (j = 0 ; j < 7 ; j++)
if (bv.substr (j,1) == "1")
count *= -1 ;
if (count == -1)
bv += "0" ;
else
bv += "1" ;
tmp = parseInt (bv,2).toString (16) ;
if (tmp.length != 2)
tmp = "0"+tmp ;
bits64 += tmp ;
}
document.getElementById ("deskey64").innerHTML = "64bit Deskey : "+bits64 ;
document.getElementById ("deskey56").value = "" ;
}
function hex2a(hexx)
{
var hex = hexx.toString(),y,z;
var str = '';
for (var i = 0; i < hex.length; i += 2)
{
z = parseInt(hex.substr(i, 2), 16) ;
y = String.fromCharCode(z) ;
str += y;
}
return str;
}
function a2hex (a)
{
var str,i ;
str = "" ;
for (i = 00 ; i < a.length ; i++)
str += a.charCodeAt (i).toString (16) ;
return str;
}
function createtoken ()
{
var ecw,dcw,token,bin,ba ;
ecw = document.getElementById ("inpecw").value ;
dcw = document.getElementById ("inpdcw").value ;
token = dcw+"ffffffffffffffff"+ecw ;
bin = hex2a (token) ;
token = "$98$"+window.btoa (bin) ;
document.getElementById ("ausgabe").innerHTML = "crack.sh Token : "+token ;
document.getElementById ("inpecw").value = "" ;
document.getElementById ("inpdcw").value = "" ;
}
</script>
</body>
</html>