2009-11-02 30 views
2

我想使用C#处理Rijndael算法。有人可以帮我吗?Rijndael算法

+0

是指Rijndael? – Artelius 2009-11-02 05:16:22

+0

是的,但它拼写为Reindhal – Geetha 2009-11-02 05:22:03

+0

事实上 - 你已经使用了*两个*替代拼写;雷达赫与雷德哈尔。 – 2009-11-02 06:18:22

回答

9

我假设你的意思是Rijndael加密算法 - 在这种情况下RinjdaelManaged将被使用。 MSDN文档(上一个链接)有示例,或者有很多其他参考,例如see here

我看到你在看这个实施自己(评论其他回复)......一些想法:

  • 没有
  • 为什么呢?
  • 没有

除非这是纯粹是为了兴趣,坚持现有的实现。它会消耗时间,并可能引入安全弱点。我想不出一个很好的理由来重写这个。

+0

如果可能的话,尝试改变你的设计,使用更高层次的抽象层,比如SslStream来处理传输中的数据,或者用KeyCzar处理静态数据。如果你自己做事,就会有太多的事情弄错了。 – 2009-11-02 23:14:00

0

如果您只是需要一个工作实现,请检查MSDN上的Rijndael Documentation。 Rijndael实现看起来非常方便与界面连接。

这当然是一个不同的故事,如果你试图自己实现它。

8
+2

;)要清楚的是,当我画出那个场景时,我指的是编写你自己的Rijndael/AES版本。使用.net AesManaged或RijndaelManaged可能没有问题,但正如我在该帖子的评论中所提到的,如果您可以设计程序以使用SSL/TLS等更高级别的层次,没有机会搞乱初始化矢量,键等东西。 – 2009-11-02 23:10:55

+0

这太棒了。我发现Ferguson和Schneider的三条鱼更简单。我的Coleage花费了2个月的时间将AES加载到freescale处理器上,运行速度提高了5%。这段代码是难以想象的神秘。 (就像algorhitm) – 2009-11-02 23:21:06

0

抵抗

我寻找到相同的,作为每布赖恩。 但这里的问题是,网络中可用的所有rijndael样本大多使用文本文件,但有什么方法可以在联机模式下进行,当我在文本框中获取数据时,我将其转换并直接放入到数据库。

对此的任何提示都会好得多,所有样本都定义了Rijndael类本身的密钥,我们不能提供我们自己的密钥。

干杯 Biju