zoukankan      html  css  js  c++  java
  • 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);

                   }

    }

  • 相关阅读:
    一个有关Golang Deferred Function 执行顺序的问题
    Golang闭包的坑
    Golang new() vs make()
    修改linux文件的mtime
    Golang通过反射获取结构体的标签
    rpm --qf 命令
    elasticsearch 5.1 认证过期 (your license has expired)
    Heka GeoIpDecoder 配置
    Heka 编译安装后 运行报错 panic: runtime error: cgo argument has Go pointer to Go pointer
    github.com/oschwald/maxminddb-golang 安装报错
  • 原文地址:https://www.cnblogs.com/smartsensor/p/3090571.html
Copyright © 2011-2022 走看看