longlang0616 發表在 痞客邦 留言(0) 人氣()



longlang0616 發表在 痞客邦 留言(0) 人氣()





longlang0616 發表在 痞客邦 留言(0) 人氣()

<% const BASE_64_MAP_INIT ="ABCDEFGHIJKLMNOPQRSTUVWXYZ"&_                         "abcdefghijklmnopqrstuvwxyz0123456789+/"     ' zero based arrays     dim Base64EncMap(63)     dim Base64DecMap(127)     ' must be called before using anything else     PUBLIC SUB initCodecs()          ' init vars          ' setup base 64          dim max, idx             max = len(BASE_64_MAP_INIT)          for idx = 0 to max - 1               ' one based string               Base64EncMap(idx) = mid(BASE_64_MAP_INIT, idx + 1, 1)          next          for idx = 0 to max - 1               Base64DecMap(ASC(Base64EncMap(idx))) = idx          next     END SUB     ' encode base 64 encoded string     PUBLIC FUNCTION base64Encode(plain)          if len(plain) = 0 then               base64Encode = ""               exit function          end if          dim ret, ndx, by3, first, second, third          by3 = (len(plain) \ 3) * 3          ndx = 1          do while ndx <= by3               first  = asc(mid(plain, ndx+0, 1))               second = asc(mid(plain, ndx+1, 1))               third  = asc(mid(plain, ndx+2, 1))               ret = ret & Base64EncMap(  (first \ 4) AND 63 )               ret = ret & Base64EncMap( ((first * 16) AND 48) + ((second \ 16)AND 15 ) )               ret = ret & Base64EncMap( ((second * 4) AND 60) + ((third \ 64)AND 3 ) )               ret = ret & Base64EncMap( third AND 63)               ndx = ndx + 3          loop          ' check for stragglers          if by3 < len(plain) then               first  = asc(mid(plain, ndx+0, 1))               ret = ret & Base64EncMap(  (first \ 4) AND 63 )               if (len(plain) MOD 3 ) = 2 then                    second = asc(mid(plain, ndx+1, 1))                    ret = ret & Base64EncMap( ((first * 16) AND 48) +((second \16) AND 15 ))                    ret = ret & Base64EncMap( ((second * 4) AND 60) )               else                    ret = ret & Base64EncMap( (first * 16) AND 48)                    ret = ret & "="               end if               ret = ret & "="          end if          base64Encode = ret     END FUNCTION     ' decode base 64 encoded string     PUBLIC FUNCTION base64Decode(scrambled)          if len(scrambled) = 0 then               base64Decode = ""               exit function          end if          ' ignore padding          dim realLen          realLen = len(scrambled)          do while mid(scrambled, realLen, 1) = "="               realLen = realLen - 1          loop          dim ret, ndx, by4, first, second, third, fourth          ret = ""          by4 = (realLen \ 4) * 4          ndx = 1          do while ndx <= by4               first  = Base64DecMap(asc(mid(scrambled, ndx+0, 1)))               second = Base64DecMap(asc(mid(scrambled, ndx+1, 1)))               third  = Base64DecMap(asc(mid(scrambled, ndx+2, 1)))               fourth = Base64DecMap(asc(mid(scrambled, ndx+3, 1)))               ret = ret & chr( ((first * 4) AND 255) +   ((second \ 16) AND 3))               ret = ret & chr( ((second * 16) AND 255) + ((third \ 4) AND 15))               ret = ret & chr( ((third * 64) AND 255) +  (fourth AND 63) )               ndx = ndx + 4          loop          ' check for stragglers, will be 2 or 3 characters          if ndx < realLen then               first  = Base64DecMap(asc(mid(scrambled, ndx+0, 1)))               second = Base64DecMap(asc(mid(scrambled, ndx+1, 1)))               ret = ret & chr( ((first * 4) AND 255) +   ((second \ 16) AND 3))               if realLen MOD 4 = 3 then                    third = Base64DecMap(asc(mid(scrambled,ndx+2,1)))                    ret = ret & chr( ((sd *nd * 16) AND 255) + ((third \ 4) AND 15) )               end if          end if          base64Decode = ret     END FUNCTION' initialize     call initCodecs	 response.Write base64Encode("12345")%>

longlang0616 發表在 痞客邦 留言(0) 人氣()

<script language="javascript" type="text/javascript" runat="server">var hexcase = 0;  /* hex output format. 0 - lowercase; 1 - uppercase        */var b64pad  = "="; /* base-64 pad character. "=" for strict RFC compliance   */var chrsz   = 8;  /* bits per input character. 8 - ASCII; 16 - Unicode      */function hex_sha1(s){return binb2hex(core_sha1(str2binb(s),s.length * chrsz));}function b64_sha1(s){return binb2b64(core_sha1(str2binb(s),s.length * chrsz));}function str_sha1(s){return binb2str(core_sha1(str2binb(s),s.length * chrsz));}function hex_hmac_sha1(key, data){ return binb2hex(core_hmac_sha1(key, data));}function b64_hmac_sha1(key, data){ return binb2b64(core_hmac_sha1(key, data));}function str_hmac_sha1(key, data){ return binb2str(core_hmac_sha1(key, data));}function sha1_vm_test(){  return hex_sha1("abc") == "a9993e364706816aba3e25717850c26c9cd0d89d";}function core_sha1(x, len){  x[len >> 5] |= 0x80 << (24 - len % 32);  x[((len + 64 >> 9) << 4) + 15] = len;  var w = Array(80);  var a =  1732584193;  var b = -271733879;  var c = -1732584194;  var d =  271733878;  var e = -1009589776;  for(var i = 0; i < x.length; i += 16)  {    var olda = a;    var oldb = b;    var oldc = c;    var oldd = d;    var olde = e;    for(var j = 0; j < 80; j++)    {      if(j < 16) w[j] = x[i + j];      else w[j] = rol(w[j-3] ^ w[j-8] ^ w[j-14] ^ w[j-16], 1);      var t = safe_add(safe_add(rol(a, 5), sha1_ft(j, b, c, d)),                       safe_add(safe_add(e, w[j]), sha1_kt(j)));      e = d;      d = c;      c = rol(b, 30);      b = a;      a = t;    }    a = safe_add(a, olda);    b = safe_add(b, oldb);    c = safe_add(c, oldc);    d = safe_add(d, oldd);    e = safe_add(e, olde);  }  return Array(a, b, c, d, e);}function sha1_ft(t, b, c, d){  if(t < 20) return (b & c) | ((~b) & d);  if(t < 40) return b ^ c ^ d;  if(t < 60) return (b & c) | (b & d) | (c & d);  return b ^ c ^ d;}function sha1_kt(t){  return (t < 20) ?  1518500249 : (t < 40) ?  1859775393 :         (t < 60) ? -1894007588 : -899497514;}function core_hmac_sha1(key, data){  var bkey = str2binb(key);  if(bkey.length > 16) bkey = core_sha1(bkey, key.length * chrsz);  var ipad = Array(16), opad = Array(16);  for(var i = 0; i < 16; i++)  {    ipad[i] = bkey[i] ^ 0x36363636;    opad[i] = bkey[i] ^ 0x5C5C5C5C;  }  var hash = core_sha1(ipad.concat(str2binb(data)), 512 + data.length * chrsz);  return core_sha1(opad.concat(hash), 512 + 160);}function safe_add(x, y){  var lsw = (x & 0xFFFF) + (y & 0xFFFF);  var msw = (x >> 16) + (y >> 16) + (lsw >> 16);  return (msw << 16) | (lsw & 0xFFFF);}function rol(num, cnt){  return (num << cnt) | (num >>> (32 - cnt));}function str2binb(str){  var bin = Array();  var mask = (1 << chrsz) - 1;  for(var i = 0; i < str.length * chrsz; i += chrsz)    bin[i>>5] |= (str.charCodeAt(i / chrsz) & mask) << (32 - chrsz - i%32);  return bin;}function binb2str(bin){  var str = "";  var mask = (1 << chrsz) - 1;  for(var i = 0; i < bin.length * 32; i += chrsz)    str += String.fromCharCode((bin[i>>5] >>> (32 - chrsz - i%32)) & mask);  return str;}function binb2hex(binarray){  var hex_tab = hexcase ? "0123456789ABCDEF" : "0123456789abcdef";  var str = "";  for(var i = 0; i < binarray.length * 4; i++)  {    str += hex_tab.charAt((binarray[i>>2] >> ((3 - i%4)*8+4)) & 0xF) +           hex_tab.charAt((binarray[i>>2] >> ((3 - i%4)*8  )) & 0xF);  }  return str;}function binb2b64(binarray){  var tab = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwx  yz0123456789+/";  var str = "";  for(var i = 0; i < binarray.length * 4; i += 3)  {    var triplet = (((binarray[i   >> 2] >> 8 * (3 -  i   %4)) & 0xFF) << 16)                | (((binarray[i+1 >> 2] >> 8 * (3 - (i+1)%4)) & 0xFF) << 8 )                |  ((binarray[i+2 >> 2] >> 8 * (3 - (i+2)%4)) & 0xFF);    for(var j = 0; j < 4; j++)    {      if(i * 8 + j * 6 > binarray.length * 32) str += b64pad;      else str += tab.charAt((triplet >> 6*(3-j)) & 0x3F);    }  }  return str;}</script><%	Dim strPassWord, strHash	strPassWord = "12345"	strHash = ucase(hex_sha1(strPassWord))	Response.Write("<p><b>strPassWord:</b> " & strPassWord & "</p>")	Response.Write("<p><b>strHash:</b> " & strHash & "</p>")%>

longlang0616 發表在 痞客邦 留言(0) 人氣()

  



美歐3艦 圍捕索馬利亞海盜船



longlang0616 發表在 痞客邦 留言(0) 人氣()



longlang0616 發表在 痞客邦 留言(0) 人氣()

從陳水扁前總統開始



因為阿扁總統的策略

longlang0616 發表在 痞客邦 留言(0) 人氣()



longlang0616 發表在 痞客邦 留言(0) 人氣()

最近身邊有不少朋友包括自己



都面臨到網路安全性的問題

longlang0616 發表在 痞客邦 留言(0) 人氣()