string srcText = "Hello,world!";//将字符串化为byte数组.
byte[] buffer = System.Text.Encoding.Default.GetBytes( srcText );
strSQL="INSERT INTO memb_info (account,password) VALUES('"+account+"',@password)";SqlCommand cmd = new SqlCommand();
cmd.CommandText = strSQL;
//使用参数将binary array插入到数据库中
((SqlParameter)cmd.Parameters.Add(new SqlParameter("@password", SqlDbType.Binary))).Value = Buffer;
cmd.Connection = cn;
cmd.ExecuteNonQuery();
byte[] buffer = System.Text.Encoding.Default.GetBytes( srcText );
strSQL="INSERT INTO memb_info (account,password) VALUES('"+account+"',@password)";SqlCommand cmd = new SqlCommand();
cmd.CommandText = strSQL;
//使用参数将binary array插入到数据库中
((SqlParameter)cmd.Parameters.Add(new SqlParameter("@password", SqlDbType.Binary))).Value = Buffer;
cmd.Connection = cn;
cmd.ExecuteNonQuery();
反正里面存放的加密的字符串
你管它是否是2进制呢
别人都看不懂
Insert的时候,直接str="INSERT INTO memb_info (account,password) VALUES('"+account+"','"+password+"')";
password就是加密过的字符串
public function encrypt(password)
dim key(16)
dim one,two,three,four
dim i
dim dstbytes(16) bu_String2Bytes password, key
bu_String2Bytes password, dstbytes
one= bu_Bytes2Int(key, 0) * 213119 + 2529077
one = one - Fix(one/ 4294967296) * 4294967296
two = bu_Bytes2Int(key, 4) * 213247 + 2529089
two = two - Fix(two/ 4294967296) * 4294967296
three = bu_Bytes2Int(key, 8) * 213203 + 2529589
three = three - Fix(three/ 4294967296) * 4294967296
four = bu_Bytes2Int(key, 12) * 213821 + 2529997
four = four - Fix(four/ 4294967296) * 4294967296
call MyuwSplit(one, key(0), key(1), key(2), key(3))
call MyuwSplit(two, key(4), key(5), key(6), key(7))
call MyuwSplit(three, key(8), key(9), key(10), key(11))
call MyuwSplit(Four, key(12), key(13), key(14), key(15)) dstbytes(0) = dstbytes(0) xor key(0) for i=1 to 15
dstbytes(i) = dstbytes(i) xor dstbytes(i-1) xor key(i and 15)
next for i=0 to 15
if dstbytes(i) = 0 then
dstbytes(i) = &H66
end if
next encrypt = "0x"
for i=0 to 15
if dstbytes(i) < &H10 then
encrypt = encrypt & "0" & Hex(dstbytes(i))
else
encrypt = encrypt & Hex(dstbytes(i))
end if
next
end functionPublic Sub MyuwSplit(ByRef w, a, b, C, d)
d = Fix(w / &H1000000)
c = Fix((w - d * &H1000000) / &H10000)
b = Fix((w - d * &H1000000 - c * &H10000) / &H100)
a = Fix((w - d * &H1000000 - c * &H10000 - b * &H100))
End Subpublic Function bu_Bytes2Int(aBytes(), index)
dim rslt
rslt = aBytes(index) + aBytes(index+1)*256 + aBytes(index+2)*65536 + aBytes(index+3)*16777216 bu_Bytes2Int = rslt
End FunctionPublic Function bu_String2Bytes(str, aBytes())
nBytes = Len(str)
For i = 0 To nBytes - 1
aBytes(i) = Asc(Mid(str, i + 1, 1))
Next bu_String2Bytes = nBytesEnd Function%>
Response.Write(encrypt("12345678"));
//结果 B53AA2DEE7076136039ABCBC71EBCDCD 也就是 0xB53AA2DEE7076136039ABCBC71EBCDCD
byte[] buffer1 = System.Text.Encoding.Default.GetBytes(encrypt("12345678"));
Response.Write("<br>");
Response.Write(System.Text.Encoding.Default.GetString(buffer1));
//结果 B53AA2DEE7076136039ABCBC71EBCDCD
但是数据库中的存储数据
0x00000000000000000000000000BC614E