Savernova cards DIY
Oct 14th, 2008 by robert
Easy and short passwords easy to hack. Good passowrds hard to remember. Once written down the password became compromised. One of solutions to this problem is Savernova cards. Basically it is a way how to keep written passwords that only you can read. Choose starting point on the card and pattern for reading. For example, the password you memorise is"Start from G8, read 5 to the right, 2 down, 5 to the left". Which gives you effective passowrd "jqBS1X8iozF". Some banks do allow special characters, some not. Sometimes you may not use digits. So you probably need to have several cards in your wallet. I have icluded simple JavaScript snippet that you can use for generating yours Savernova cards.
-
<style>
-
table.sm tr td, table.sm tr th{
-
font:normal 50% Consolas;
-
width:10px;
-
}
-
table.bg tr td, table.bg tr th{
-
font:normal 100% Consolas;
-
width:20px;
-
}
-
-
</style>
-
-
<script type="text/javascript">
-
-
var latinUpper = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';
-
var latinLower = 'abcdefghijklmnopqrstuvwxyz';
-
var digits = '0123456789';
-
var signs = '~!@#$%^&*()_+';
-
-
var bgcolors = ['black','white','tomato','limegreen','deepskyblue','gold'];
-
var colors = ['black','white'];
-
-
var w = 26;
-
var h = 13;
-
-
var m=new Array();
-
-
function Item(c, c1, c2){
-
this.ch = c;
-
this.color1 = getRandomBgColor();
-
do{
-
this.color2 = getRandomColor();
-
}while(this.color2 == this.color1);
-
-
}
-
-
function getRandomColor(){
-
return colors[Math.round(Math.random()*(colors.length-1))]
-
-
}
-
-
function getRandomBgColor(){
-
return bgcolors[Math.round(Math.random()*(bgcolors.length-1))]
-
-
}
-
-
function shuffle(str){
-
o = str.split("");
-
for(var j, x, i = o.length; i; j = parseInt(Math.random() * i), x = o[--i], o[i] = o[j], o[j] = x);
-
return o.join("");
-
}
-
-
function fill(){
-
// CHOOSE WHAT YOU WANT TO USE IN PASSWORDS
-
allChars = latinUpper + latinLower + digits + signs;
-
allChars = shuffle(allChars);
-
for (y=0;y<h;y++){
-
m[y] = new Array();
-
for (x=0;x<w;x++){
-
pos = Math.round(Math.random()*(allChars.length-1));
-
ch = allChars.substring(pos,pos+1);
-
m[y][x] = new Item(ch);
-
-
}
-
}
-
}
-
-
function print(css){
-
document.write("<table class='"+css+"'>");
-
document.write(" <tr><td></td> ");
-
for (x=0;x<w;x++) {
-
document.write("<th>"+latinUpper[x]+"</th>");
-
}
-
document.write("</tr>");
-
for (y=0;y<h;y++){
-
document.write("\n<tr><th>"+y+"</th>");
-
for (x=0;x<w;x++){
-
i = m[y][x];
-
document.write("<td bgcolor='"+i.color1+"' align='center'><font color='"+i.color2+"'><b>"+i.ch+"</b></font></td>");
-
-
}
-
document.write("</tr>");
-
}
-
document.write("</table><br/><br/>");
-
-
}
-
-
fill();
-
-
print("sm");
-
print("sm");
-
print("bg");
-
</script>

Clever. I just use flexwallet to keep all my passwords encrypted on my phone/PC/PDA.
Hi Robert
Could you tell me where I can download that plugin that you use for inserting source code into your posts ?
Alex
Hi Alex
I use “iG:Syntax Hiliter” plugin. You can download it from http://blog.igeek.info/wp-plugins/igsyntax-hiliter/