Tag: 加密

C#无法生成初始化向量IV

当我尝试为TripleDES加密器创建IV初始化向量时,出现以下错误。 请参阅代码示例: TripleDESCryptoServiceProvider tripDES = new TripleDESCryptoServiceProvider(); byte[] key = Encoding.ASCII.GetBytes(“SomeKey132123ABC”); byte[] v4 = key; byte[] connectionString = Encoding.ASCII.GetBytes(“SomeConnectionStringValue”); byte[] encryptedConnectionString = Encoding.ASCII.GetBytes(“”); // Read the key and convert it to byte stream tripDES.Key = key; tripDES.IV = v4; 这是我从VS获得的例外。 指定的初始化向量(IV)与此算法的块大小不匹配。 我哪里错了? 谢谢

使用C#的POST方法使用数据进行PHP加密和解密

我正在尝试使用POST方法使用来自应用程序的密钥发送来加密字符串.POST方法发送加密密钥。但是脚本工作不正常请帮助我。

如何在app.config上使用加密连接字符串与Windows窗体上的向导生成的Dataset.xsd

我正在使用Visual Studio 2013(.NET 4.5)和Oracle Developer Tools最新版本开发 MDI应用程序。 我需要创建一个主窗体,然后它将成为许多不同forms的容器,每个窗体都是不同的应用程序。 应用程序必须连接到不同的Oracle数据库,现在我正在尝试设置主窗体以保持所有连接字符串的加密,并可能在单独的文件上。 现在连接字符串只有一个。 为了加密连接字符串,我使用了那些文章中描述的aspnet_regiis方法: Framework 4.0中的Web配置加密/解密 使用受保护的配置加密配置信息 总结一下: 我在app.config中添加了部分,我在其中定义了自己的RSA提供程序和密钥容器,因为我需要在多台计算机上导出和导入密钥。 然后我创建了密钥容器并将其与aspnet_regiis工具一起使用来加密部分。 我还为TNS_ADMIN变量设置了部分,以使用我自己的Oracle Instant Client和我的自定义tnsnames.ora文件。 这将有助于避免不同的机器操作系统和Oracle客户端版本和配置出现问题。 所以,现在这是我的最终app.config文件应该是这样的: Rsa Key ZuB8jsXnXR/6Ww47R4Oc/ksSgHsrRuuOkNypbsdfm1ASDlvdsklsgfhtrwaADFHrywswvfhgnjlsGHSDJKFEROvfsd/TV+LKlysPkccEXmJFCcFZ7S9geSInPBaNvYGweR9FcTK1HVcrYMaddgfBK6lpSTTw6cdMRIOcw0Ib//oYPr34= 01old8NrGlRAOLdfdtXUKYuBkZPY5XbWMI/j22Hnm8U= 现在我需要使用数据源配置向导来设置Oracle数据集,然后能够将表从DataSource Explorer拖放到自动创建导航按钮并保持表之间关系等的表单。 但是当我使用原始app.config在新应用程序上使用向导完成配置时,它要求我创建一个ConnectionString并将其存储在app.config ,然后副本也放在Settings.settings文件中, 显然用纯文本 。 如果我执行上述过程来加密原始app.config的部分,那么只有 在 Settings.settings 存在 ConnectionString 设置时 , DataSet.xsd 才有效 。 它不使用app.config参数。 我试图打开DataSet.Designer.cs文件,但是为每个TableAdapter对象指定了Connection和ConnectionString参数,因为我的数据集中有很多表,所以我想避免使用查找/替换方法…因为如果我需要对数据集进行一些更改,那么DataSet.xsd文件可能会被覆盖,因此所有编辑都将丢失。 我想知道哪个是替换连接字符串的最佳方法,而是使用加密字符串。 最后,我还想知道是否可以在保存加密的同时将部分移动到另一个.config文件。 – 编辑 – 我做了一些更多的测试来重新创建一个新的应用程序项目,而Visual Studio似乎比我想象的更聪明! 在使用向导设置新数据源后,我将第一个连接字符串添加到空白app.config 。 然后我编辑了app.config并将部分移动到新的connections.config文件。 我应用aspnet_regiis方法来加密该部分,一切正常。 […]

PHP和C#3DES加密

需要将以下函数从PHP转换为C#(asp.net) function encrypt_3DES($message, $key){ // Se establece un IV por defecto $bytes = array(0,0,0,0,0,0,0,0); //byte [] IV = {0, 0, 0, 0, 0, 0, 0, 0} $iv = implode(array_map(“chr”, $bytes)); //PHP 4 >= 4.0.2 // Se cifra $ciphertext = mcrypt_encrypt(MCRYPT_3DES, $key, $message, MCRYPT_MODE_CBC, $iv); //PHP 4 >= 4.0.2 return $ciphertext; } 其中$message是要编码的字符串, $key是键 $key是base 64编码的,在调用函数之前会被解码 […]

如何使用C#加密另一个程序?

因此,在Visual C#.NET中,我希望它能够以某种方式获取程序(通过打开的文件对话框),然后以某种方式获取该程序的字节并加密字节,以便稍后执行。 我该怎么办? 我如何使用Visual C#.NET加密,然后解密一个程序?

如何在数据库表中存储密码

我正在设计一个C#应用程序,我需要将用户的登录信息(包括密码)存储在数据库表中。 我想知道这样做的好方法是什么。 我知道将密码存储为明文是一个可怕的想法。 我在考虑加密密码然后存储它们。 之后,每次用户输入密码时,我都可以加密输入并将加密输入与数据库中已有的输入进行比较。 我的计划是使用一个良好的加密函数…

删除bmp标头进行加密

我对C#很陌生,并在图像上交付了这个AES加密项目。 我可能在这里缺少一件非常简单的事情。 我正在尝试从bmp中删除标头并加密其余部分然后再添加标头。 如果我不删除标题,程序运行良好。 要删除,我尝试了这个(bmp标头是54个字节): MyImage = new Bitmap(“path”); MemoryStream ms = new MemoryStream(); MyImage.Save(ms, System.Drawing.Imaging.ImageFormat.Bmp); byte[] Header=null, picture=null, pictureFull = ms.ToArray(); for (int i = 0; i < pictureFull.Length; i++) { if (i < 54) { Header[i] = pictureFull[i]; } else { picture[i – 54] = pictureFull[i]; } } byte[] demoKeyBytes = new byte[] […]

如何使用SMTP发送安全电子邮件

我目前正在使用Google Apps发送SMTP电子邮件。 如果我的项目部署了我将要发送的一些信息将是保密的,我想确保传输是安全的。 任何人都可以让我知道我需要做什么,以确保我通过谷歌应用程序smtp服务器使用smtp发送安全的电子邮件? smtp.google.com。 任何帮助非常感谢。 据我所知,我需要强制使用Https并拥有SSL证书才能执行此操作。 我不知道这是真的吗?

密码检索和存储

在我的应用程序中,我必须重复调用需要validation的webservices。 用户不想重复输入validation信息(用户名和密码)。 是否有一种安全的方法来存储密码至少在应用程序运行的会话长度,因此用户只需输入一次数据? 目前,我将密码保存在内存中,并在输入密码并在用于服务调用时将其解密。 但我觉得有点不舒服。 这是处理这类数据的推荐方法吗? 将密码存储在数据库中以便在多个会话中使用它怎么样? 是否有推荐的处理方式? 我听说过bcrypt和pbkdf2。 但它们仅用于散列目的并比较输入的密码,而不是再次使用“解密”密码。 或者它是一种更好的方法来使用外部密码缓存,如keepass(或任何可以使用的)。

在C#中加密并在Flex中解密

我需要在Flex中解密一些用C#加密并写入文件的数据。 为了简单起见,我使用as3crypto As3库和Bruce Schneier C#库确定了河豚。 AS3 as3crypto链接 Bruce Schneier C#河豚链接 我可以在C#中获取一个短字符串加密并在Flex中解密,但是较长的字符串只是不能产生结果而我不知道我缺少什么? C#: string reportstring = “watson?”; BlowFish b = new BlowFish(“04B915BA43FEB5B6”); string cipherText = b.Encrypt_ECB(reportstring); String plainText = b.Decrypt_ECB(cipherText); AS3: var txt:String = “watson?”; var key:ByteArray = Hex.toArray(“04B915BA43FEB5B6”); var blowfish:BlowFishKey = new BlowFishKey(key); var dataBytes:ByteArray = new ByteArray(); dataBytes=Hex.toArray(Hex.fromString(txt)); blowfish.encrypt(dataBytes); blowfish.decrypt(dataBytes); 更新,一些样本 工作的 加密字符串=“沃森?” C#产生:1514ea36fecfd5f5 […]