Sixem

.NET Armon 64

Jun 24th, 2013
142
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
VB.NET 2.60 KB | None | 0 0
  1.   Public Shared Function ARMON64_Encrypt(ByVal message As String, Optional ByVal key As String = "ARMON64-CRYPO") As String
  2.         Dim out As New System.Text.StringBuilder
  3.         If key.Length < 3 Then Return message
  4.         Dim intkey() As Byte = System.Text.Encoding.UTF8.GetBytes(key)
  5.         Dim x As Integer
  6.         Do While x < message.Length
  7.             Dim hextemp As String = ""
  8.             Dim y As String = ""
  9.             If x > 0 Then y = "+"
  10.             For i As Integer = x To Math.Round(key.Length / 2)
  11.                 If i < message.Length Then hextemp += Hex(Asc(message(i)))
  12.             Next
  13.             Dim thenum As Double = "&H" & hextemp
  14.             If Information.IsNumeric(thenum) = False Then Return message
  15.             For z As Integer = 0 To key.Length - 1
  16.                 Dim operation As Integer = z Mod 4
  17.                 Select Case operation
  18.                     Case 0
  19.                         thenum += intkey(z)
  20.                     Case 1
  21.                         thenum /= intkey(z)
  22.                     Case 2
  23.                         thenum -= intkey(z)
  24.                     Case 3
  25.                         thenum *= 0.01 * intkey(z)
  26.                 End Select
  27.             Next
  28.             out.Append(y & thenum)
  29.             x += Math.Round(key.Length / 2)
  30.         Loop
  31.         Return out.ToString.Replace(",", ".")
  32.     End Function
  33.     Public Shared Function ARMON64_Decrypt(ByVal message As String, Optional ByVal key As String = "ARMON64-CRYPO") As String
  34.         Dim out As New System.Text.StringBuilder
  35.         If key.Length < 6 Then Return message
  36.         Dim intkey() As Byte = System.Text.Encoding.UTF8.GetBytes(key)
  37.         message = message.Replace(".", ",")
  38.         Dim oOutString As String() = Split(message, "+")
  39.         For x As Integer = 0 To oOutString.Length - 1
  40.             For z As Integer = key.Length - 1 To 0 Step -1
  41.                 Dim operation As Integer = z Mod 4
  42.                 Select Case operation
  43.                     Case 0
  44.                         oOutString(x) -= intkey(z)
  45.                     Case 1
  46.                         oOutString(x) *= intkey(z)
  47.                     Case 2
  48.                         oOutString(x) += intkey(z)
  49.                     Case 3
  50.                         oOutString(x) /= 0.01 * intkey(z)
  51.                 End Select
  52.             Next
  53.             oOutString(x) = Hex(Math.Round(Double.Parse(oOutString(x))))
  54.         Next
  55.         For i As Integer = 0 To Join(oOutString).Length - 1 Step +2
  56.             out.Append(Chr(("&H" & Join(oOutString).Substring(i, 2))))
  57.         Next
  58.         Return out.ToString
  59.     End Function
Advertisement
Add Comment
Please, Sign In to add comment