C#-从流中序列化/反序列化DES加密文件 - c#

有没有人有如何将序列化数据加密到文件然后使用DES读回的示例?

我已经写了一些无法正常工作的代码,但是我宁愿尝试新的尝试而不是追求我的代码。

编辑:对不起,忘了提到我需要使用XmlSerializer.Serialize / Deserialize的示例。

参考方案

加密

public static void EncryptAndSerialize(string filename, MyObject obj, SymmetricAlgorithm key)
{
    using(FileStream fs = File.Open(filename, FileMode.Create))
    {
        using(CryptoStream cs = new CryptoStream(fs, key.CreateEncryptor(), CryptoStreamMode.Write))
        {
            XmlSerializer xmlser = new XmlSerializer(typeof(MyObject));
            xmlser.Serialize(cs, obj); 
        }
    }
}

解密:

public static MyObject DecryptAndDeserialize(string filename, SymmetricAlgorithm key)    
{
    using(FileStream fs = File.Open(filename, FileMode.Open))
    {
        using(CryptoStream cs = new CryptoStream(fs, key.CreateDecryptor(), CryptoStreamMode.Read))
        {
            XmlSerializer xmlser = new XmlSerializer(typeof(MyObject));
            return (MyObject) xmlser.Deserialize(cs);
        }
    }
}

用法:

DESCryptoServiceProvider key = new DESCryptoServiceProvider();
MyObject obj = new MyObject();
EncryptAndSerialize("testfile.xml", obj, key);
MyObject deobj = DecryptAndDeserialize("testfile.xml", key);

您需要将MyObject更改为要序列化的对象的类型,但这是一般的想法。诀窍是使用相同的SymmetricAlgorithm实例进行加密和解密。

将数据从ip套接字转发到蓝牙套接字。 C# - c#

我想在特定端口上监听传入的IP套接字,并使用蓝牙套接字转发它们。这可能吗?我正在使用c#,但是如果可以更轻松地编写代码,则可以使用java。 参考方案 实际上,该对象正在通过蓝牙连接使用SMB协议。我找到了一个类似于SMB协议的蓝牙配置文件,它使我能够从PC上浏览sdcard。该配置文件是OBEX FTP(文件传输配置文件),我发现了Java API。谢谢您…

Cefsharp如何获取当前的URL地址? C# - c#

我想获取当前地址,基本上将其放在文本框中。我找到了此链接,但似乎什么也听不懂。http://cefsharp.github.io/api/57.0.0/html/P_CefSharp_WinForms_ChromiumWebBrowser_Address.htm我非常感谢某人提供的代码段。这太痛苦了。我正在使用WFA。 参考方案 您必须听下面的地址更改事件并…

Selenium(C#),使用JavaScript查找元素失败 - javascript

我正在尝试使用JavaScript查找网络元素。找到第一个元素。当我使用类似的代码查找另一个元素时,将获得null引用。例外。当我在开发人员工具(F12)中输入代码时,正在找到元素。这是我使用的代码:IJavaScriptExecutor js = Driver as IJavaScriptExecutor; IWebElement ChangeAccess…

有用于初始化的设计模式吗? C# - c#

我有一个称为initialize的类,该类在程序的开头运行。最初,我明确地对应该实例化的所有类进行硬编码,但是我想使其更加通用,并删除硬编码的类,以便可以将类标记为关闭以进行修改。我的第一个想法是创建一个Types队列,我的Initialize类将循环遍历并实例化队列中的所有Types。然后,我想根据每个班级决定是否将其添加到队列中。通过从类内部将自身添加到…

C#-如何使用正则表达式替换NULL字符? - c#

我有以下字符串:< \0\"\0E\0x\0t\0e\0n\0s\0i\0b\0i\0l\0i\0t\0y\0,\0v\0e\0r\0s\0i\0o\0n\0=\0\\\0\"\07\0.\00\0.\03\03\00\00\0.\00\0\\\0\"\0,\0p\0u\0b\0l\0i\0c\0K\0e\0y\0T\0o…