Fetstil Fetstil Kursiv Understrykning linje färgläggning tabellverk Punktlista Nummerlista Vänster Centrerat högerställt Utfyllt Länk Bild htmlmode
  • Forum & Blog
    • Forum - översikt
      • .Net
        • asp.net generellt
        • c#
        • vb.net
        • f#
        • silverlight
        • microsoft surface
        • visual studio .net
      • databaser
        • sql-server
        • databaser
        • access
        • mysql
      • mjukvara klient
        • datorer och komponenter
        • nätverk, lan/wan
        • operativsystem
        • programvaror
        • säkerhet, inställningar
        • windows server
        • allmänt
        • crystal reports
        • exchange/outlook
        • microsoft office
      • mjukvara server
        • active directory
        • biztalk
        • exchange
        • linux
        • sharepoint
        • webbservers
        • sql server
      • appar (win/mobil)
      • programspråk
        • c++
        • delphi
        • java
        • quick basic
        • visual basic
      • scripting
        • asp 3.0
        • flash actionscript
        • html css
        • javascript
        • php
        • regular expresssion
        • xml
      • spel och grafik
        • DirectX
        • Spel och grafik
      • ledning
        • Arkitektur
        • Systemutveckling
        • krav och test
        • projektledning
        • ledningsfrågor
      • vb-sektioner
        • activeX
        • windows api
        • elektronik
        • internet
        • komponenter
        • nätverk
        • operativsystem
      • övriga forum
        • arbete karriär
        • erbjuda uppdrag och tjänster
        • juridiska frågor
        • köp och sälj
        • matematik och fysik
        • intern information
        • skrivklåda
        • webb-operatörer
    • Posta inlägg i forumet
    • Chatta med andra
  • Konto
    • Medlemssida
    • Byta lösenord
    • Bli bonsumedlem
    • iMail
  • Material
    • Tips & tricks
    • Artiklar
    • Programarkiv
  • JOBB
  • Student
    • Studentlicenser
  • KONTAKT
    • Om pellesoft
    • Grundare
    • Kontakta oss
    • Annonsering
    • Partners
    • Felanmälan
  • Logga in

Hem / Forum översikt / inlägg

Posta nytt inlägg


RSA-kryptering

Postades av 2006-04-09 00:47:36 - Thomas Roman, i forum asp.net generellt, Tråden har 2 Kommentarer och lästs av 539 personer

Jag har hållit på hela dagen med att få till en enkel RSA-kryptering och jag har nästan lyckats. Det fungerar att kryptera med publika nyckeln och dekryptera med den privata, men jag behöver få det att fungera åt det andra hållet, dvs kryptera med den privata och dekryptera med den publika. Det är alltså en signering av datan jag vill göra.

Koden jag använder mig av:
<code>
'Testkod i en form eller något, som fungerar:
Sub Test1()
Dim cEncryption As New classEncryption
Dim ED() As Byte, Msg As String
cEncryption.CreateKeys("c:")
ED = cEncryption.EncryptText("Ett litet test", "c:\public.key")
Msg = cEncryption.DecryptText(ED, "c:\private.key")
Messagebox.Show(Msg)
End Sub

'Testkod som inte fungerar:
Sub Test2()
Dim cEncryption As New classEncryption
Dim ED() As Byte, Msg As String
cEncryption.CreateKeys("c:")
ED = cEncryption.EncryptText("Ett litet test", "c:\private.key")
Msg = cEncryption.DecryptText(ED, "c:\public.key")
Messagebox.Show(Msg)
End Sub


'classEncryption.vb:
Imports System.Security.Cryptography

Public Class classEncryption

Public Function EncryptText(ByVal TextToEncrypt As String, ByVal KeyFile As String) As Byte()
Try
Dim Enc As New System.Text.UTF8Encoding
Dim rsaCSP As New RSACryptoServiceProvider
rsaCSP.ImportCspBlob(ReadBinaryFile(KeyFile))
Return rsaCSP.Encrypt(Enc.GetBytes(CType(TextToEncrypt, Char()), 0, TextToEncrypt.Length), False)
Catch Ex As Exception
MessageBox.Show("Fel vid kryptering: " & Ex.Message)
End Try
End Function

Public Function DecryptText(ByVal EncryptedText() As Byte, ByVal KeyFile As String) As String
Try
Dim Enc As New System.Text.UTF8Encoding
Dim fromEncrypt() As Byte
Dim roundTrip As String
Dim rsaCSP As New RSACryptoServiceProvider
rsaCSP.ImportCspBlob(ReadBinaryFile(KeyFile))
fromEncrypt = rsaCSP.Decrypt(EncryptedText, False)
roundTrip = Enc.GetString(fromEncrypt)
Return roundTrip
Catch Ex As Exception
MessageBox.Show("Fel vid dekryptering: " & Ex.Message)
End Try
End Function

Public Sub CreateKeys(ByVal DirPath As String)
Dim rsaCSP As New System.Security.Cryptography.RSACryptoServiceProvider(1024)
Dim PrivateBlob() As Byte = rsaCSP.ExportCspBlob(True)
Dim PublicBlob() As Byte = rsaCSP.ExportCspBlob(False)
System.IO.File.WriteAllBytes(DirPath & "\public.key", PublicBlob)
System.IO.File.WriteAllBytes(DirPath & "\private.key", PrivateBlob)
End Sub

Private Function ReadBinaryFile(ByVal FilePath As String) As Byte()
Dim fs As System.IO.FileStream
Try
fs = System.IO.File.Open(FilePath, System.IO.FileMode.Open, System.IO.FileAccess.Read)
Dim lngLen As Long = fs.Length
Dim abytBuffer(CInt(lngLen - 1)) As Byte
fs.Read(abytBuffer, 0, CInt(lngLen))
Return abytBuffer
Catch exp As Exception
Return Nothing
Finally
If Not fs Is Nothing Then
fs.Close()
End If
End Try
End Function
End Class
</code>

Nån som har tips?


Thomas


Svara

Sv: RSA-kryptering

Postades av 2006-04-10 16:18:29 - Mikael Wedham

Byt namn på c:\private.key till c:\public.key och tvärtom...

/micke


Svara

Sv:RSA-kryptering

Postades av 2006-04-10 16:58:17 - Thomas Roman

Den privata nyckeln innehåller egentligen både den privata och den publika nyckeln, så jag kan inte bara byta plats på dom.


Thomas


Svara

Nyligen

  • 09:09 Vill du köpa medicinska tester?
  • 12:47 Vem beviljar assistansen – kommune
  • 14:17 Någon med erfarenhet av hemstädnin
  • 14:14 Bör man använda sig av en båtförme
  • 14:12 Finns det någon intressant hundblo
  • 14:25 Tips på verktyg för att skapa QR-k
  • 14:23 Tips på verktyg för att skapa QR-k
  • 20:52 Fungerer innskuddsbonuser egentlig

Sidor

  • Hem
  • Bli bonusmedlem
  • Läs artiklar
  • Chatta med andra
  • Sök och erbjud jobb
  • Kontakta oss
  • Studentlicenser
  • Skriv en artikel

Statistik

Antal besökare:
Antal medlemmar:
Antal inlägg:
Online:
På chatten:
4 569 602
27 953
271 705
5 972
0

Kontakta oss

Frågor runt konsultation, rådgivning, uppdrag, rekrytering, annonsering och övriga ärenden. Ring: 0730-88 22 24 | pelle@pellesoft.se

© 1986-2013 PelleSoft AB. Last Build 4.1.7169.18070 (2019-08-18 10:02:21) 4.0.30319.42000
  • Om
  • Kontakta
  • Regler
  • Cookies