質問者
UWPで暗号化するには

質問
すべての返信
-
AesManagedもそうですが、ModeやPaddingを一致させないと暗号化・復号できません。逆に言えばこれらを一致させればWindows.Security.Cryptographyでも使えるはずです。
- 回答の候補に設定 栗下 望Microsoft employee, Moderator 2017年1月13日 0:13
-
具体的なコードを提示してください。
- SymmetricKeyAlgorithmProvider.OpenAlgorithm()でSymmetricKeyAlgorithmProviderを作成する
- 1.を使用してSymmetricKeyAlgorithmProvider.CreateSymmetricKey()でCryptographicKeyを作成する
- 2.を使用してCryptographicEngine.Encrypt()で暗号化を行う
の手順でしょうか? 2.で作成したCryptographicKeyにアルゴリズム情報が含まれていなければ3.は何のアルゴリズムで動作するのでしょうか? それともCryptographicKeyにはアルゴリズム情報だけ含まれていて、モードとパディングは削除されているとお考えでしょうか?
-
その通りです。CryptographicEngine.Encryptが何のアルゴリズムで動作しているのかわからなくて、、、。
すみません、ざっくりと手順通り書くと(※誤字があったら失礼します)
IBuffer password = CryptographicBuffer.ConvertStringToBinary("パスワード",BinaryStringencoding.Utf8);
IBuffer buffer = CryptographicBuffer.ConvertStringToBinary("暗号化文字列",BinaryStringencoding.Utf8);
SymmetricKeyAlgorithmProvider algorithm = SymmetricKeyAlgorithmProvider.OpenAlgorithm(SymmetricAlgorithmNames.AesCb Pkcst)
IBuffer iv = CryptographicBuffer.GenerateRandom(algorithm.BlockLength);
CryptographicKey key = algorithm.CreateSymmetricKey(password);
IBuffer rtn = CryptographicEngine.Encrypt(key,buffer,iv);
こんな感じです。
- 編集済み pekimira3432 2017年1月13日 6:52