小编cra*_*ish的帖子

从字节数组转换为base64并返回

我在尝试着:

  1. 生成一个字节数组.
  2. 将该字节数组转换为base64
  3. 将该base64字符串转换回字节数组.

我已经尝试了一些解决方案,例如这个问题中的解决方案.

由于某种原因,初始和最终字节数组不匹配.这是使用的代码:

using (RNGCryptoServiceProvider rng = new RNGCryptoServiceProvider())
    {
         byte[] originalArray = new byte[32];
         rng.GetBytes(key);
         string temp_inBase64 = Convert.ToBase64String(originalArray);
         byte[] temp_backToBytes = Encoding.UTF8.GetBytes(temp_inBase64);
    }
Run Code Online (Sandbox Code Playgroud)

我的问题是:

  1. 为什么"originalArray"和"temp_backToBytes"不匹配?(originalArray的长度为32,temp_backToBytes的长度为44,但它们的值也不同)

  2. 是否可以来回转换,如果是这样,我该如何做到这一点?

c# base64 encoding bytearray type-conversion

34
推荐指数
1
解决办法
8万
查看次数

如何将加密密钥分成几部分?

我有一个128位加密密钥,我想分成三个部分,当XOR一起重现密钥时.

我该怎么做呢?

encryption key aes key-management xor

4
推荐指数
1
解决办法
2583
查看次数

将log4net与asp.net Web表单结合使用

我正在尝试将log4net合并到我的Web应用程序中.我已经使用基于.net mvc的新部分完成了这项工作,但是我很难将其合并到我的应用程序的基于Web表单的部分中.我环顾四周寻找一个例子并没有遇到过.

为了缩小我的问题范围,让我们假设我知道如何配置我的web.config文件.我的问题是:

(1)我考虑将实际调用log4net放在"Global.asax"文件中,并将其放在我的基页(构建所有其他页面)上.我应该将实际代码放在这些地方中的哪一个,如果不是,我应该把代码放在哪里?

(2)我对代码的理解是我需要实例化一个日志,然后在我想要的时候记录日志(日志的细节由web.config处理),但我不知道该代码应该是什么样子.那么,我应该在我的文件中放置什么代码?(例如,将不胜感激)

谢谢

c# asp.net log4net error-logging

4
推荐指数
1
解决办法
1万
查看次数

c#中的AES GCM实现

我正在c#中以GCM模式实现AES密码.我的问题涉及"额外的经过身份验证的数据"(AAD).在以下代码中

http://blogs.msdn.com/b/shawnfa/archive/2009/03/17/authenticated-symmetric-encryption-in-net.aspx

目前还不清楚我应该从哪里获取AAD,以及如何在解密期间检索特定于此加密的AAD:

// Authenticated data becomes part of the authentication tag that is generated during
// encryption, however it is not part of the ciphertext.  That is, when decrypting the
// ciphertext the authenticated data will not be produced.  However, if the
// authenticated data does not match at encryption and decryption time, the
// authentication tag will not validate.
aes.AuthenticatedData = Encoding.UTF8.GetBytes("Additional authenticated data");
Run Code Online (Sandbox Code Playgroud)

任何有关如何使用此AAD的说明都将非常感激.谢谢

c# aes aes-gcm

3
推荐指数
1
解决办法
8221
查看次数