Beispiel #1
0
        public static byte[] dhexchange(byte[] src)
        {
            try {
                IntPtr srcptr = Package.package_packarray(src);
                IntPtr resptr = Crypt_CSharp.dhexchange(srcptr);
                byte[] buffer = Package.package_unpackarray(resptr);
                Package.package_freezero(ref srcptr);
                Package.package_freezero(ref resptr);

                return(buffer);
            } catch (Exception ex) {
                throw;
            }
        }
Beispiel #2
0
        public static byte[] dhexchange(byte[] src)
        {
            try {
                IntPtr ptr = Marshal.AllocHGlobal(src.Length);
                Marshal.Copy(src, 0, ptr, src.Length);
                Crypt_CSharp.PACKAGE pg;
                pg.src = ptr;
                pg.len = src.Length;

                Crypt_CSharp.PACKAGE res = Crypt_CSharp.dhexchange(pg);
                byte[] buffer            = new byte[res.len];
                Marshal.Copy(res.src, buffer, 0, res.len);
                pfree(res);

                Marshal.FreeHGlobal(ptr);
                return(buffer);
            } catch (Exception ex) {
                throw;
            }
        }