C# データ暗号化を実現する対称暗号化アルゴリズム

C# データ暗号化を実現する対称暗号化アルゴリズム

以下は、対称暗号化アルゴリズムの C# データ暗号化実装コードです。必要に応じて、さまざまなアルゴリズムを変更できます。この記事では、Rijndael アルゴリズムを例として使用します。

  1. システムの使用;
  2. System.IOを使用します
  3. System.Security.Cryptographyを使用します
  4. System.Textを使用します
  5.  
  6. 名前空間DataCrypto
  7. {
  8. ///  
  9. /// C# データ暗号化対称暗号化アルゴリズム クラス 
  10. ///  
  11. 公共 クラスSymmetricMethod
  12. {
  13.  
  14. プライベートSymmetricAlgorithm mobjCryptoService;
  15. プライベート 文字列キー;
  16. ///  
  17. /// C# 対称暗号化クラスのデータ暗号化 
  18. ///  
  19. パブリック対称メソッド()
  20. {
  21. mobjCryptoService =新しいRijndaelManaged();
  22. キー = "Guz(%&hj7x89H$yuBI0456FtmaT5&fvHUFCy76*h%(HilJ$lhj!y6&(*jkP87jH7" ;
  23. }
  24. ///  
  25. /// キーを取得する 
  26. ///  
  27. /// 
  28. プライベート バイト[] GetLegalKey()
  29. {
  30. 文字列sTemp = キー;
  31. mobjCryptoService.GenerateKey();
  32. バイト[] bytTemp = mobjCryptoService.Key;
  33. intキーの長さ = bytTemp.Length;
  34. if (sTemp.Length > KeyLength)
  35. sTemp = sTemp.Substring(0, キーの長さ);
  36. それ以外  (sTemp.Length < KeyLength)の場合
  37. sTemp = sTemp.PadRight(キーの長さ、 ' ' );
  38. ASCIIEncoding.ASCII.GetBytes(sTemp)を返します
  39. }
  40. ///  
  41. /// 初期ベクトルIVを取得する 
  42. ///  
  43. ///初期テストベクトルIV  
  44. プライベート バイト[] GetLegalIV()
  45. {
  46. 文字列sTemp = "E4ghj*Ghg7!rNIfb&95GUY86GfghUb#er57HBh(u%g6HJ($jhWk7&!hg4ui%$hjk" ;
  47. mobjCryptoService.GenerateIV();
  48. バイト[] bytTemp = mobjCryptoService.IV;
  49. int IVLength = bytTemp.Length;
  50. (sTemp.Length > IVLength)の場合
  51. sTemp = sTemp.Substring(0, IVLength);
  52. それ以外  (sTemp.Length < IVLength)の場合
  53. sTemp = sTemp.PadRight(IVLength, ' ' );
  54. ASCIIEncoding.ASCII.GetBytes(sTemp)を返します
  55. }
  56. ///  
  57. /// 暗号化方式 
  58. ///  
  59. ///暗号化する文字列 
  60. ///暗号化された文字列 
  61. 公共 文字列暗号化(文字列ソース)
  62. {
  63. バイト[] bytIn = UTF8Encoding.UTF8.GetBytes(ソース);
  64. メモリストリーム ms =新しいメモリストリーム();

これで、対称暗号化アルゴリズムを使用した C# データ暗号化の紹介は終わりです。

<<:  C# のデータ構造とアルゴリズムにおけるツリーの役割を紹介します

>>:  C#アルゴリズムのプログラム実装に関する面接の質問

推薦する

ロボット革命が到来。人類社会はどう対応すべきか?

ロボット革命は、2009年に英国王立工学アカデミーが発表した「自律システム」と題する科学報告書で提唱...

2026年までに世界の人工知能(AI)市場は2,390億ドルに達する

GMIリサーチの最新分析によると、人工知能市場は2019年から2026年の予測期間中に年平均成長率(...

...

Ali Wensheng ビデオが Gen-2 と Pika に挑戦、1280×720 の解像度で圧迫感なし、3500 万のテキスト ビデオ表示効果

ヴィンセントのビデオはどの程度詳細にできますか?最近、アリババの調査により、1280×720 の解像...

「概念のドリフト」問題と闘おう! Google が新しい時間認識フレームワークをリリース: 画像認識精度が 15% 向上

機械学習の分野では、コンセプトドリフトという問題が長い間研究者を悩ませてきました。つまり、データの分...

ビッグデータとアルゴリズムについて言えば、これらを知っておくことはあなたにとって大きな利益となるでしょう

この記事では、ビッグデータ アルゴリズムを理解するプロセスをまとめます。本文は、アルゴリズムに関する...

...

...

ロボット品質教育を普及させる時が来た

人間がロボットを訓練しているのを見るたびに、私はいつも一つのことに疑問を感じます。それは、このような...

Python 向けトップ 3 機械学習ライブラリ

[51CTO.com クイック翻訳] 難しいデータサイエンスを習得しなくても、機械学習の世界で成功で...

人工知能は将来の戦争を防ぐことができるのか?

ロヒット・タルワール[[430155]]米陸軍兵士が発射後、管制室から全長14フィートのシャドウ監視...

古代から皇帝の寿命は短かった。皇帝も負荷分散アルゴリズムを理解していたら...

[51CTO.com オリジナル記事] 古代の皇帝はハーレムに3000人の美女を抱えていたことは誰...

海外メディア:ニューラリンクの「人間の脳チップ」を埋め込むために何千人もの人が列をなしており、2030年には手術件数が2万2000件を超える見込み

11月8日、米国現地時間の火曜日、著名な伝記作家アシュリー・ヴァンス氏が、イーロン・マスク氏の脳コン...

AIをベッド管理に適用し、追跡予測により患者にベッドの空きを確保

[[228998]]画像出典: Visual China医療分野はAIが進歩していく上で重要な方向で...