在一个加密函数中,他的密钥是 private byte[] Keys = {0x12, 0x34, 0x56, 0x78, 0x90, 0xAB, 0xCD, 0xEF}; 对应的字符是 abcdefg ,为什么呢?0x12是16进制吧,难道是ASCII的16进制?那也不是啊,a的ascii 是97, 我现在用他这个加密函数,但是,我想把密钥改为 hijklmn 或者别的, 请问,他们是怎么个转化法?? 
问了很多人都不知道怎么来的,不知道怎么对应起来的,请高手帮忙。 在线等待,小弟没分了,全分相送。

解决方案 »

  1.   

    to 但是,我想把密钥改为 hijklmn 或者别的, 请问,他们是怎么个转化法?? sample code as follows:
    using System.Text;
    string strKey = "hijklmn";
    byte[] bKeys = Encoding.AscII.GetBytes( strKey );
      

  2.   

    {0x12, 0x34, 0x56, 0x78, 0x90, 0xAB, 0xCD, 0xEF}; 对应的字符是 abcdefg 
    错了吧!前面有8个byte,后面是7个字符。
    {0x12, 0x34, 0x56, 0x78}对应abcd,可以这样解释:
    以a对应0x12, 以后每个字符都偏移0x22, 所以 
    b = 0x12 + 0x22 = 0x34
    c = 0x34 + 0x22 = 0x56
    d = 0x56 + 0x22 = 0x78
      

  3.   

    和abcdefg没关系的,就按星星的就可以,Keys = System.Text.Encoding.UTF8.GetBytes(yourKey.Substring(0,8));