From f2aba5fe6f63023817a2ba3b8a0dc8ba3d228b73 Mon Sep 17 00:00:00 2001 From: Slava Bacherikov Date: Sat, 21 Jan 2012 21:06:02 +0200 Subject: [PATCH] Base provide encode function. --- dell.js | 66 ++++++++++++++++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 63 insertions(+), 3 deletions(-) diff --git a/dell.js b/dell.js index 5c727a6..9f20211 100644 --- a/dell.js +++ b/dell.js @@ -7,7 +7,8 @@ var encscans = [0x05,0x10,0x13,0x09,0x32,0x03,0x25,0x11,0x1F,0x17,0x06, var scancods = "\00\0331234567890-=\010\011qwertyuiop[]\015\377asdfghjkl;'`\377\\zxcvbnm,./"; - +var encData = [0x1,0x23,0x45,0x67,0x89,0xAB,0xCD,0xEF,0xFE,0xDC,0xBA,0x98, + 0x76, 0x54, 0x32, 0x10]; function ord(str){ return str.charCodeAt(0); @@ -17,10 +18,21 @@ function chr(ascii_code){ return String.fromCharCode(ascii_code); } +function copy_array(ar){ + var temp_arr = []; + for(var i=0;i> 2; + var ret_arr = []; + for(var i=0;i<=k;i++){ + ret_arr[i] = b_arr[i*4] | (b_arr[i*4+1] << 8) | + (b_arr[i*4+2] << 16) | + (b_arr[i*4+3] << 24); + } + return ret_arr; +} + +function StringToIntArr(str){ + return (typeof(str)=="object") ? ByteArrToIntArr(str) : + ByteArrToIntArr(StrintToArray(str)); +} + +function fill_zero(arr, from, to){ + for(var i=from;i> 1), @@ -103,8 +145,26 @@ function calc_suffix_hdd_old(serial){ return ret_arr; } -function dell_service_tag(serial){ +function blockEncode(){ + + +} + +function encode(in_str, cnt){ + var m_encData = copy_array(encData); + in_str[cnt + 1] = 0x80; + var encBlock = StringToIntArr(in_str); + encBlock = fill_zero(encBlock,10,16); + encBlock[14] = (cnt << 3); + + +} + +function dell_service_tag(serial){ + var serial_arr = StrintToArray(serial); + serial_arr = serial_arr.concat(calc_suffix_tag(serial_arr)); + encode(serial_arr,23); }