XML 파일을 암호화하고 다른 위치로 보내고 해독해야합니다. 아래의 코드에서 볼 수 있듯이 동일한 키를 사용하고 있지만 작동하지 않습니다 (현재는 두 개의 로컬 파일 만 사용하고 있습니다).XML 파일 암호화/암호 해독
: 나는 그것이 예를 들어, 실제 암호화 단계의 원인이 오류에있을 수 있습니다 생각하고 XmlTextReader는패딩이 유효 제거 할 수 없습니다 다음과 같이
내가 오류입니다. Decrypt.aspx에서이 라인에
으로 희미한 xReader이 제대로 저장 파일이 없습니다.
Dim XMLDoc As XDocument
XMLDoc = New XDocument(
New XDeclaration("1.0", "utf-8", "yes"),
New XElement("user",
New XElement("details",
New XElement("firstname", Firstname.Text),
New XElement("surname", Lastname.Text)
)
)
)
XMLDoc.Save("C:\test.xml")
: 는 Encrypt.aspx
Dim rijnAlg As RijndaelManaged
rijnAlg = RijndaelManaged.Create()
rijnAlg.Key = {118, 123, 23, 17, 161, 152, 35, 68, 126, 213, 16, 115, 68, 217, 58, 108, 56, 218, 5, 78, 28, 128, 113, 208, 61, 56, 10, 87, 187, 162, 233, 38}
rijnAlg.IV = {33, 241, 14, 16, 103, 18, 14, 248, 4, 54, 18, 5, 60, 76, 16, 191}
Dim encryptor As ICryptoTransform
encryptor = rijnAlg.CreateEncryptor(rijnAlg.Key, rijnAlg.IV)
Dim wStream As FileStream
wStream = File.Open("C:\test.xml", FileMode.Create)
Dim cStream As CryptoStream
cStream = New CryptoStream(wStream, encryptor, CryptoStreamMode.Write)
Dim sWriter As StreamWriter
sWriter = New StreamWriter(cStream)
XMLDoc.Save(sWriter)
'Clear memory'
wStream.Flush()
wStream.Close()
Dim rijnAlg As RijndaelManaged
rijnAlg = RijndaelManaged.Create()
rijnAlg.Key = {118, 123, 23, 17, 161, 152, 35, 68, 126, 213, 16, 115, 68, 217, 58, 108, 56, 218, 5, 78, 28, 128, 113, 208, 61, 56, 10, 87, 187, 162, 233, 38}
rijnAlg.IV = {33, 241, 14, 16, 103, 18, 14, 248, 4, 54, 18, 5, 60, 76, 16, 191}
Dim decryptor As ICryptoTransform
decryptor = rijnAlg.CreateDecryptor(rijnAlg.Key, rijnAlg.IV)
Response.Write(rijnAlg.Key)
Response.Write(rijnAlg.IV)
Dim rStream As FileStream
rStream = File.OpenRead("C:\test.xml")
Dim cStream As CryptoStream
cStream = New CryptoStream(rStream, decryptor, CryptoStreamMode.Read)
Dim xReader As XmlTextReader
xReader = New XmlTextReader(cStream)
Dim xDoc As XDocument
xDoc = XDocument.Load(xReader)
xDoc.Save("C:\test.xml")
그리고 가능한 한 관심을 위해 Decrypt.aspx, 여기 내가 사용하고있는 XML 생성 코드입니다
그것은 나를하지만 다른 스트림을 닫습니다하지 것이다. Using 메서드를 사용하여 내가 어떻게되는지 알려줄 것입니다. 고맙습니다. –
@ user718341 : "당신을 못하게"한다는 것은 무엇을 의미합니까? 내 생각 엔 잘못된 순서로 닫으려고했는데 닫힌 FileStream으로 플러시하려고했습니다 ... –
"wouldnt let me"= 오류가 발생했습니다. 아니요, 주문을 변경했습니다. 사용 된 마지막 항목을 닫는 것이 나머지 항목으로 분할되는 것을 의미한다고 가정했습니다. –