当前位置:编程学习 > C#/ASP.NET >>

继续补充——一个用户只能回复3次 没办法



this.decryptedString = function( key, s )
{
var blocks = s.split(' ');
var result = '';
var i, j, block;
for ( i = 0; i < blocks.length; ++i )
{
var bi;
if ( key.radix == 16 )
{
bi = biFromHex( blocks[ i ] );
}
else
{
bi = biFromString( blocks[ i ], key.radix );
}
block = key.barrett.powMod( bi, key.d );
for ( j = 0; j <= biHighIndex( block ); ++j )
{
result += String.fromCharCode( block.digits[ j ] & 255, block.digits[j] >> 8 );
}
}

if ( result.charCodeAt( result.length - 1 ) == 0 )
{
result = result.substring( 0, result.length - 1 );
}

return result;
}

this.utf8base64encode = function( str )
{
var base64EncodeChars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';
var base64DecodeChars = new Array(
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 62, -1, -1, -1, 63,
52, 53, 54, 55, 56, 57, 58, 59, 60, 61, -1, -1, -1, -1, -1, -1,
-1,  0,  1,  2,  3,  4,  5,  6,  7,  8,  9, 10, 11, 12, 13, 14,
15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, -1, -1, -1, -1, -1,
-1, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40,
41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1);
var out, conv, i, len;
var c, c1, c2, c3;

str = str.replace( /\r\n/g, '\n' );
conv = '';
 
for ( i = 0; i < str.length; i++ )
{
  c = str.charCodeAt( i );
 
if ( c < 128 )
{
conv += String.fromCharCode( c );
}
else if ( ( c > 127 ) && ( c < 2048 ) )
{
conv += String.fromCharCode( ( c >> 6 ) | 192 );
conv += String.fromCharCode( ( c & 63 ) | 128 );
}
else
{
conv += String.fromCharCode( ( c >> 12 ) | 224 );
conv += String.fromCharCode( ( ( c >> 6 ) & 63 ) | 128 );
conv += String.fromCharCode( ( c & 63 ) | 128 );
}
  }
 
len = conv.length;
i = 0;
out = '';
while (i < len)
{
c1 = conv.charCodeAt( i++ ) & 0xff;
if ( i == len )
{
out += base64EncodeChars.charAt( c1 >> 2 );
out += base64EncodeChars.charAt( ( c1 & 0x3 ) << 4 );
out += '==';
break;
}
c2 = conv.charCodeAt( i++ );
if( i == len )
{
out += base64EncodeChars.charAt( c1 >> 2 );
out += base64EncodeChars.charAt( ( ( c1 & 0x3 ) << 4 ) | ( ( c2 & 0xF0 ) >> 4 ) );
out += base64EncodeChars.charAt( ( c2 & 0xF ) << 2 );
out += '=';
break;
}
c3 = conv.charCodeAt( i++ );
out += base64EncodeChars.charAt( c1 >> 2 );
out += base64EncodeChars.charAt( ( ( c1 & 0x3 ) << 4 ) | ( ( c2 & 0xF0 ) >> 4) );
out += base64EncodeChars.charAt( ( ( c2 & 0xF ) << 2 ) | ( ( c3 & 0xC0 ) >>6 ) );
out += base64EncodeChars.charAt( c3 & 0x3F );
}

return out;
}
}

var NgbHash = new function __NgbHash()
{
this.SHA256_init = function()
{
SHA256_H = new Array(0x6a09e667, 0xbb67ae85, 0x3c6ef372, 0xa54ff53a, 0x510e527f, 0x9b05688c, 0x1f83d9ab, 0x5be0cd19);
SHA256_buf = new Array();
SHA256_len = 0;
}

this.SHA256_write = function( msg )
{
if (typeof(msg) == "string")
SHA256_buf = SHA256_buf.concat(string_to_array(msg));
else
SHA256_buf = SHA256_buf.concat(msg);

for(var i = 0; i + 64 <= SHA256_buf.length; i += 64)
SHA256_Hash_Byte_Block(SHA256_H, SHA256_buf.slice(i, i + 64));
SHA256_buf = SHA256_buf.slice(i);
SHA256_len += msg.length;
}

this.SHA256_finalize = function()
{
SHA256_buf[SHA256_buf.length] = 0x80;

if (SHA256_buf.length > 64 - 8)
{
for (var i = SHA256_buf.length; i < 64; i++)
SHA256_buf[i] = 0;

SHA256_Hash_Byte_Block(SHA256_H, SHA256_buf);
SHA256_buf.length = 0;
}

for (var i = SHA256_buf.length; i < 64 - 5; i++)
SHA256_buf[i] = 0;

SHA256_buf[59] = (SHA256_len >>> 29) & 0xff;
SHA256_buf[60] = (SHA256_len >>> 21) & 0xff;
SHA256_buf[61] = (SHA256_len >>> 13) & 0xff;
SHA256_buf[62] = (SHA256_len >>> 5) & 0xff;
SHA256_buf[63] = (SHA256_len << 3) & 0xff;
SHA256_Hash_Byte_Block(SHA256_H, SHA256_buf);

var res = new Array(32);
for (var i = 0; i < 8; i++)
{
res[4 * i + 0] = SHA256_H[i] >>> 24;
res[4 * i + 1] = (SHA256_H[i] >> 16) & 0xff;
res[4 * i + 2] = (SHA256_H[i] >> 8) & 0xff;
res[4 * i + 3] = SHA256_H[i] & 0xff;
}

delete SHA256_H;
delete SHA256_buf;
delete SHA256_len;

return res;
}

this.SHA256_hash = function( msg )
{
var res;
NgbHash.SHA256_init();
NgbHash.SHA256_write(msg);
res = NgbHash.SHA256_finalize();
return array_to_hex_string(res);
}

this.HMAC_SHA256_init = function( key )
{
if (typeof(key) == "string")
HMAC_SHA256_key = string_to_array(key);
else
HMAC_SHA256_key = new Array().concat(key);

if (HMAC_SHA256_key.length > 64)
{
SHA256_init();
SHA256_write(HMAC_SHA256_key);
HMAC_SHA256_key = SHA256_finalize();
}

for (var i = HMAC_SHA256_key.length; i < 64; i++)
HMAC_SHA256_key[i] = 0;
for(var i = 0; i < 64; i++)
HMAC_SHA256_key[i] ^=  0x36;

NgbHash.SHA256_init();
NgbHash.SHA256_write(HMAC_SHA256_key);
}

this.HMAC_SHA256_init2 = function( key )
{
if (typeof(key) == "string")
HMAC_SHA256_key = hex_string_to_array(key);
else
HMAC_SHA256_key = new Array().concat(key);

if (HMAC_SHA256_key.length > 64)
{
SHA256_init();
SHA256_write(HMAC_SHA256_key);
HMAC_SHA256_key = SHA256_finalize();
}

for (var i = HMAC_SHA256_key.length; i < 64; i++)
HMAC_SHA256_key[i] = 0;
for(var i = 0; i < 64; i++)
HMAC_SHA256_key[i] ^=  0x36;

NgbHash.SHA256_init();
NgbHash.SHA256_write(HMAC_SHA256_key);
}

this.HMAC_SHA256_write = function( msg )
{
NgbHash.SHA256_write(msg);
}

this.HMAC_SHA256_finalize = function()
{
var md = NgbHash.SHA256_finalize();

for (var i = 0; i < 64; i++)
HMAC_SHA256_key[i] ^= 0x36 ^ 0x5c;

NgbHash.SHA256_init();
NgbHash.SHA256_write(HMAC_SHA256_key);
NgbHash.SHA256_write(md);

for (var i = 0; i < 64; i++)
HMAC_SHA256_key[i] = 0;

delete HMAC_SHA256_key;
return NgbHash.SHA256_finalize();
}

this.HMAC_SHA256_MAC = function(key, msg)
{
var res;
NgbHash.HMAC_SHA256_init(key);
NgbHash.HMAC_SHA256_write(msg);
res = NgbHash.HMAC_SHA256_finalize();
return array_to_hex_string(res).toUpperCase();
}

this.HMAC_SHA256_MAC2 = function(key, msg)
{
var res;
NgbHash.HMAC_SHA256_init2(key);
NgbHash.HMAC_SHA256_write(msg);
res = NgbHash.HMAC_SHA256_finalize();
return array_to_hex_string(res).toUpperCase();
}
}
///完结//
--------------------编程问答-------------------- 接上一贴
http://topic.csdn.net/u/20120802/14/b45ae5ce-f9f1-4a47-82dc-5065d482c54c.html?46565#replyachor --------------------编程问答-------------------- 你是来炫耀无注释编程的?

--------------------编程问答-------------------- 对不住啊 我这个也是从网页上下的
他的网页js代码就是这样的
引用 2 楼  的回复:
你是来炫耀无注释编程的?
补充:.NET技术 ,  C#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,