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#アルゴリズムのプログラム実装に関する面接の質問

ブログ    
ブログ    
ブログ    
ブログ    

推薦する

人工知能でカスタマーサービスエージェントを強化する方法

今日、ほぼすべての分野やビジネスが何らかの変革を遂げており、多くの企業がデジタル技術の波の推進力を受...

...

2021 年に注目すべき 8 つのロボティック プロセス オートメーションのトレンド

【51CTO.com クイック翻訳】今日、ロボティック・プロセス・オートメーション(RPA)は、企業...

「インターネット情報サービスアルゴリズム推奨管理規則」が公布され、3月1日に発効される。

最近、中国サイバースペース管理局、工業情報化部、公安部、国家市場監督管理総局は共同で「インターネット...

...

クラウド コンピューティングに必要な 5 つの機械学習スキル

機械学習と人工知能は、IT サービス分野に浸透し続け、ソフトウェア エンジニアが開発したアプリケーシ...

iOS 18はAIネイティブシステムの第1世代となるか? AppleはAIをシステムに導入することを急いでおり、史上最大のアップデートを先導している。

著名なテクノロジー記者マーク・ガーマン氏によると、Appleはバグ修正に集中するため、iOS 18の...

...

未来を予測しますか? GoogleはAIモデルを使って「リアルタイム」の天気予報を実現

人類にとって、時間は常に最大の敵であり、時間を超越することは常に人類の夢でした。「未来を予測する」こ...

eMule プロトコル スライス選択アルゴリズムの分析

ダウンロードはデータの送信であることはご存じのとおりです。この点に関しては、すでに合意内容について多...

異常分析のための技術的ソリューション - 異常帰属の指標分析

著者 | イー・リアン1. はじめに唯一不変なのは変化です。変化を受け入れる前に、調査し、属性を特定...

大規模言語モデルにおけるプライバシーの考慮

[[430922]]文中の次の単語を予測するようにトレーニングされた機械学習ベースの言語モデルは、ま...

「機械が人間に取って代わる」時代が到来。人類はこれからどう生き残っていくのか?

今年の春節祝賀会には、有名人よりも人気のある特別な俳優たちがいます。書道をしたり、ダンスをしたり、腕...

ロボットを活用する3つの革新的な方法

[[412609]]画像ソース: https://pixabay.com/images/id-648...

Python 自然言語処理 (NLP) を使用して要約を作成する方法

たくさんのレポートを読まなければならないときに、それぞれのレポートを簡単に要約したいという状況に遭遇...