草庐IT

RSA加密

全部标签

C#常用加密解密方法(Base64加密解密)

在日常开发过程中,总会遇到需要加密解密的需求,这里我整理了C#常用的加密解密方法分享给大家。先看看加密的基本概念:"加密",是一种限制对网络上传输数据的访问权的技术。原始数据(也称为明文,plaintext)被加密设备(硬件或软件)和密钥加密而产生的经过编码的数据称为密文(ciphertext)。将密文还原为原始明文的过程称为解密,它是加密的反向处理,但解密者必须利用相同类型的加密设备和密钥对密文进行解密。加密的基本功能包括:1.防止不速之客查看机密的数据文件;2.防止机密数据被泄露或篡改;3.防止特权用户(如系统管理员)查看私人数据文件;4.使入侵者不能轻易地查找一个系统的文件。一、本节摘要

c# - 如何加密log4net日志文件

有什么方法可以加密或保护log4net输出吗? 最佳答案 我假设您想加密日志的输出。在这种情况下,您将需要编写自己的Appender来处理加密。我建议弄清楚您打算在不加密的情况下使用哪种输出机制(即FileAppender、EventLogAppender等),然后扩展该Appender并覆盖实际写出输出的功能。可以找到关于appender的引用文档here.例如,使用EncryptedFileAppender扩展FileAppender并覆盖/实现您需要的成员,以便挂接到文件写入。或者,您可以从IAppender扩展并完全从头开始

c# - 使用 BouncyCaSTLe c# 进行 PgP 加密和解密

我看过很多帖子,遵循了很多教程,但似乎都没有用。有时,他们会引用一些未找到的类。能否向我指出一个位置,在那里我可以获得一个简单的教程,展示如何加密和解密文件。我是Pgp的新手,欢迎任何帮助。 最佳答案 我知道这个问题已经有好几年了,但它在Google中仍然是使用BouncyCaSTLe进行PGP解密相关搜索的第一名或第二名。由于似乎很难找到一个完整、简洁的示例,所以我想在这里分享我用于解密PGP文件的工作解决方案。这只是源文件中包含的BouncyCaSTLe示例的修改版本。usingSystem;usingSystem.IO;usi

c# - 使用 RSA 公钥解密使用 RSA 私钥加密的字符串

我知道我可能得到的主要答案是你到底为什么要这么做?!不幸的是,尽管我抗议,但我还是不得不这样做,尽管我知道这毫无意义。我有一些用.Net编写的函数,可以使用私钥解密,使用公钥加密。我还对RSA进行了签名和验证,并且对我认为这一切的工作原理有一个合理的理解。我现在收到一个使用私钥进行RSA加密的值,我应该通过使用公钥解密来派生一个可用值。我似乎不知道该怎么做。我是白痴吗?这是正常的事情吗?给我发送值的人告诉我,这在PHP中没有问题。我不知道也没有使用过PHP。我找不到用我知道的任何主要语言(即C++、Java、C#)执行此操作的库。我正在使用的服务器使用.Net。我希望有人能帮助我。如果

c# - 使用 HMAC-SHA1 加密创建 OAuth 签名返回 HTTP 401

问题我需要对需要OAuth加密的API进行身份验证。我的方向是正确的,但我确信我的签名基本字符串有问题。由于HMACSHA1哈希基于key和BaseString,因此我得到了错误的oauth_signature。OAuthSigningProcess到目前为止我已经能够收集到所有必需的数据,其中包括:ConsumerKeyConsumerSecretAccesTokenAccesSecretSha1HasedValue(BasedonKeyandMessage,whereMessageisthesignatureBasestring)SignatureBaseString问题由于签名无

c# - .NET 中的最小消息大小公钥加密

我想使用公钥加密系统将非常少的数据(准确地说是15个字节)加密成尽可能短(最好不超过16个字节)的消息。不幸的是,标准公钥系统RSA会生成与其key一样大的消息,即大约100字节,具体取决于key大小。更困难的是,我只能使用.NET框架库,即没有第三方。我在维基百科上阅读了一些关于椭圆曲线密码学的内容,那里的文字似乎暗示那里的key长度通常比RSAkey短得多。这也可以转化为短消息吗?.NETECDiffieHellmanCng类是否可用于解密/加密消息?它似乎具有与RSA或对称密码不同的类结构。 最佳答案 您可以使用ECDiffi

c# - RSACryptoServiceProvider(.NET 的 RSA)可以使用 SHA256 代替 SHA1 进行加密(不签名)吗?

加密时,RSACryptoServiceProvider(或.NET提供的任何其他RSA加密器)能否使用SHA256而不是SHA1?SHA1似乎是硬编码的,无法更改。例如,RSACryptoServiceProvider.SignatureAlgorithm被硬编码为返回“http://www.w3.org/2000/09/xmldsig#rsa-sha1”。如果没有办法让RSACryptoServiceProvider使用SHA256,有什么替代方案?更新以下代码运行良好,但我想将OAEPWithSHA1AndMGF1Padding更改为OAEPWithSHA256AndMGF1Pa

c# - .NET 私​​钥 Rsa 加密

我需要使用RSA1.5算法加密字符串。我已获得私钥。但是,我终生无法弄清楚如何将此key添加到类(class)中。看起来key需要是RSAParameter结构类型。然而,这需要一组我没有给出的值,例如模数、指数、P、Q等。我所拥有的只是私钥。谁能帮忙? 最佳答案 你应该知道BouncycastleC#library.特别是有两个非常有用的类:Org.BouncyCaSTLe.OpenSsl.PemReader可以将您拥有的openssl样式key转换为bouncycaSTLekey对象,以及Org.BouncyCaSTLe.Sec

c# - 帮我 XOR 加密

我用C#编写了这段代码,用key加密字符串:privatestaticintBin2Dec(stringnum){int_num=0;for(inti=0;i_str.Length)_key=_key.Substring(0,_str.Length);for(inti=0;i问题是当我想用这段代码解密加密文本时总是出错:stringenc_text=ENCRYPT.XORENC("abc","a");//enc_text="♥☻"stringdec_text=ENCRYPT.XORENC(enc_text,"a");//ArgumentOutOfRangeException有什么线索吗

c# - 加密密码

我读过一些建议散列密码并将其存储在数据库中的问题。当有人登录时,您将提供的密码与您存储的内容进行哈希处理。我不明白的是这是如何工作的?两个字符串可以散列为相同的值-不太可能但绝对可能有人可以帮帮我吗?编辑:谁能给出碰撞可能性的统计数据? 最佳答案 您不应存储未加密的密码,因为您的数据库管理员不应该访问客户密码。对密码进行哈希处理可以防止数据库管理员看到密码。发生冲突的可能性非常小,这不是问题,因为这不会显着增加有人在您锁定帐户之前试图暴力破解客户密码获得匹配的可能性。PS在散列之前对密码进行加盐也是一种很好的做法,这样如果黑客以某种