相关疑难解决方法(0)

C#Byte []加密

我有一个Byte []字段,它是我需要加密的文件内容.没有什么特别的或花哨的,只是足以确保下一个获得它的人将无法轻易解码它.我会使用.Net Framework 4.0附带的加密,但我绝对不需要使文件比它更大.

我想过只是简单地反转数组或添加几个字节到最后......?

如果我可以避免使阵列变得更大,那将是伟大的.

有什么建议?

谢谢!

c# encryption

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

字符串序列化和反序列化问题

我正在尝试序列化/反序列化字符串。使用代码:


       private byte[] StrToBytes(string str)
       {
            BinaryFormatter bf = new BinaryFormatter();
MemoryStream ms = new MemoryStream(); bf.Serialize(ms, str); ms.Seek(0, 0); return ms.ToArray(); } private string BytesToStr(byte[] bytes) { BinaryFormatter bfx = new BinaryFormatter(); MemoryStream msx = new MemoryStream(); msx.Write(bytes, 0, bytes.Length); msx.Seek(0, 0); return Convert.ToString(bfx.Deserialize(msx)); }

Run Code Online (Sandbox Code Playgroud)

如果我使用字符串变量,那么这两个代码可以正常工作。

但是,如果我反序列化一个字符串并将其保存到文件中,则在阅读了后面的内容并再次对其进行序列化之后,我只会得到字符串的第一部分。所以我相信我的文件保存/读取操作有问题。这是我保存/读取的代码


private byte[] ReadWhole(string fileName)
        {
            try
            {
                using (BinaryReader br = new BinaryReader(new FileStream(fileName, FileMode.Open)))
                {
                   return br.ReadBytes((int)br.BaseStream.Length);
                }
} catch (Exception) { return null; }
} private void WriteWhole(byte[] wrt,string fileName,bool …
Run Code Online (Sandbox Code Playgroud)

c# serialization

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

使用C#加密和解密密码

我想创建一个可以使用C#加密和解密我的密码的应用程序.

我的想法很简单.我将使用Substring从输入的字符串中提取每个字母,我将操纵ASCI代码并将其转换为另一个字母.我将使用相同的方法来加密它们.

有人解密我生成的密码有多难?

我正在寻找建议或示例代码.

c# encryption passwords visual-studio

1
推荐指数
2
解决办法
5477
查看次数

我如何读写加密的XML文件?

我如何处理读写加密的XML文件?我需要一种方法来保存用户最后输入的表单值,但我不希望它们可以作为纯文本或XML读取.

c# xml encryption winforms

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

没有基本情况的递归?该功能如何终止?

我在这个堆栈溢出答案中发现了这个代码,我试图理解这个递归函数是如何终止的.我没有在该线程上提出问题的原因是我的问题是关于递归,而不是那里讨论的内容(加密).

/// <summary>
/// Simple Encryption (AES) then Authentication (HMAC) for a UTF8 Message.
/// </summary>
/// <param name="secretMessage">The secret message.</param>
/// <param name="cryptKey">The crypt key.</param>
/// <param name="authKey">The auth key.</param>
/// <param name="nonSecretPayload">(Optional) Non-Secret Payload.</param>
/// <returns>
/// Encrypted Message
/// </returns>
/// <exception cref="System.ArgumentException">Secret Message Required!;secretMessage</exception>
/// <remarks>
/// Adds overhead of (Optional-Payload + BlockSize(16) + Message-Padded-To-Blocksize +  HMac-Tag(32)) * 1.33 Base64
/// </remarks>
public static string SimpleEncrypt(string secretMessage, byte[] cryptKey, byte[] authKey,
                   byte[] nonSecretPayload = …
Run Code Online (Sandbox Code Playgroud)

c# recursion recursive-backtracking

0
推荐指数
1
解决办法
118
查看次数

guids的对称映射

是否存在以下安全实现:


Guid original = Guid.NewGuid();

Guid inverted = MysteryImplementation(original, salt); // salt is some sort of input

Guid shouldBeOriginal = MysteryImplementation(inverted, salt);

Assert.AreEqual(original, shouldBeOriginal, "MysteryImplementation did no work");

编辑:

由于这个被投票(虽然我有点不确定为什么),我认为需要更多的背景:

在远处的某个地方,有一个应用程序,其中主键存储为GUID.在此应用程序中,这些GUID向Web客户端公开.

在我追求改善现状的过程中,我有一个想法,即将这些GUID与用户会话数据进行映射,以降低主键意外/恶意泄漏的风险.映射这些GUID具有额外的好处,它还可以更容易地实现GUID引用的那些对象的工作副本.

这就是我决定开始寻找"安全"方式来映射GUID的原因.

回答评论:

-Mapping应该与所有其他GUID相比保留全局唯一性(我不希望那些映射的GUID与现有的GUID冲突).

- 在此上下文中的"安全"意味着在不知道密码密钥(典型的加密请求,我认为转换映射的GUID应该具有规范化分布)的情况下,不可能找出原始GUID.

c# algorithm encryption-symmetric

-1
推荐指数
1
解决办法
378
查看次数

如何加密/解密字符串?

关注这个问题,我想知道RSA的关键是什么,以及如何在C#中创建和使用它.

c# cryptography rsa

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