草庐IT

RSA加密算法

全部标签

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

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

c# - 避免从 C# 代码在 MSSQL Server 上进行 SQL 注入(inject)的算法?

在C#.net平台上避免SQL注入(inject)的最佳方法是什么。如果有的话,请发布C#实现。 最佳答案 不需要算法-只是不使用字符串连接来构建SQL语句。请改用SqlCommand.Parameters集合。这会执行所有必要的值转义(例如将'替换为'')并确保该命令是安全的,因为其他人(即Microsoft)已经完成了所有测试.例如调用存储过程:using(varconnection=newSqlConnection("..."))using(varcommand=newSqlCommand("MySprocName",conn

c# - 简单词差异算法

我目前正在寻找一种简单且轻量级的算法来比较两个简单的字符串。例如,如果我们采用这两个字符串:“敏捷的棕色狐狸跳过懒惰的狗”“聪明的棕色狐狸战胜了疯狗”它应该告诉我第二个单词的两个首字母不同,等等。现在我有一个比较单词的非常简单的算法://////Makeadiffbetweentwostringsandreturnswordsindices////////////publicstaticListDiff(stringa,stringb){Listindices=newList();string[]asplit=a.Split('');string[]bsplit=b.Split('')

c# - 优化此 C# 算法

这是一道算法题,我有解法但是有性能问题。QuestionDescriptionTherearenvariablesandmrequirements.Requirementsarerepresentedas(xInputFormat:Firstlineoftheinputcontainstwointegersnandm.Thenfollowingmlineseachcontaining2space-seperatedintegersxandy,whichmeansarequirement(xOutputFormat:Outputtheanswerinoneline.Constraints

c# - 遗传算法中的锦标赛评估

现在,每个遗传C#库(A.Forge、遗传算法框架、GeneticSharp)似乎只评估单个Chromosome,然后使用各种选择方法之一来创建新一代.由于我的问题涉及两个AI相互对抗,因此单独评估它们的适应性有点困难。虽然游戏足够简单,可以创建一些表面障碍(AI不直接交互,但障碍会发送给其他游戏),这会让我获得一些抽象的适应性,但这并不是“真正的”交易.这些库似乎也没有提供我可以实现这种评估方法的另一个接口(interface)。是否有其他框架允许这样做,还是我需要从头开始? 最佳答案 每个遗传算法库都应该有一些方法供您定义适应度

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

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

c# - 在 C# 2.0 中同步两个 IList 的最佳算法

想象一下下面的类型:publicstructAccount{publicintId;publicdoubleAmount;}同步两个的最佳算法是什么IList在C#2.0中?(没有linq)?第一个列表(L1)是引用列表,第二个(L2)是根据第一个来同步的:L2中不再存在于L1中的所有帐户必须从L2中删除必须更新L1中仍然存在的L2中的所有帐户(金额属性)所有在L1中但尚未在L2中的帐户必须添加到L2Id标识帐户。找到一种朴素且有效的算法并不难,但我想知道是否有一种智能解决方案可以在不破坏可读性和性能的情况下处理这种情况。编辑:帐户类型无关紧要,可以是一个类,具有属性、相等成员等。L1

c# - c#中字符串比较的更快算法

我有两个句子需要相互比较。最终结果是一个句子在另一个句子中包含多少百分比,我的问题是我有100.000条记录需要与另外10条记录进行比较。那是1.000.000次循环,这在我的算法中非常慢。这是我正在使用的算法:privatedoubleBreakStringsAndCheck(strings1,strings2){if(s1==null||s2==null||s1.Length==0||s2.Length==0)return(double)0;string[]firstArray=s1.Split('');string[]secondArray=s2.Split('');if(fir

c# - 使用 Dijkstra 算法寻找最短路线

我需要找到图的2个顶点之间的最短路线。我有一个矩阵,其中包含所有权重。我该怎么做?目前,我有以下代码:privateint[]Dijkstra(intstart,intend){bool[]done=newbool[8];int[]parent=newint[8];for(inti=0;i它有效,但是,但是我不知道如何让它找到例如1和3之间的最短路线,并返回1=>4=>2=>3之类的路线。提前致谢。 最佳答案 Djikstra算法使用父数组来跟踪从开始到结束的最短路径。您将从parent[end]开始并跟随数组的条目,直到您回到起点

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

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