byte数组的两种简单赋值操作

第一种 直接操作byte数组

private  void SetValue(byte[] byteArr)        

{

            byte[] LenK = new byte[4];            

    byte[] LenIV = new byte[4];

            Buffer.BlockCopy(byteArr,0,LenK,0,4);            

     Buffer.BlockCopy(byteArr, 4, LenIV, 0, 4);

            int lenK = BitConverter.ToInt32(LenK, 0);            

    int lenIV = BitConverter.ToInt32(LenIV, 0);

            byte[] KeyEncrypted = new byte[lenK];            

    byte[] IV = new byte[lenIV];

            Buffer.BlockCopy(byteArr, 8, KeyEncrypted, 0, lenK);            

    Buffer.BlockCopy(byteArr, 8 + lenK, IV, 0, lenIV);

            byte[] KeyDecrypted = rsa.Decrypt(KeyEncrypted, false);            

    byte[] IVDecrypted = rsa.Decrypt(IV, false);

}

第二种方法

 private void SetValue(byte[] byteArr)        

{            

using (Stream inFs = new MemoryStream(byteArr))            

{                

    byte[] LenK = new byte[4];                

    byte[] LenIV = new byte[4];                

    inFs.Seek(0, SeekOrigin.Begin);                

    inFs.Read(LenK, 0, 4);                

    inFs.Seek(4, SeekOrigin.Begin);                

    inFs.Read(LenIV, 0, 4);

           int lenK = BitConverter.ToInt32(LenK, 0);                

    int lenIV = BitConverter.ToInt32(LenIV, 0);

            byte[] KeyEncrypted = new byte[lenK];                

    byte[] IV = new byte[lenIV];

           inFs.Seek(8, SeekOrigin.Begin);                

    inFs.Read(KeyEncrypted, 0, lenK);                

    inFs.Seek(8 + lenK, SeekOrigin.Begin);                

    inFs.Read(IV, 0, lenIV);

               }

}

转载于:https://www.cnblogs.com/smartsensor/archive/2013/05/21/3090571.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值