Нужен совет об увеличении безопасности VB-шного приложения

Узнай цену своей работы

Формулировка задачи:

Нужен совет об увеличении безопасности VB-шного приложения, работающего с удаленной БД веб-сервера (Oracle). Смысл таков, что заказчик хочет как можно больше 'обезопасить', увеличить секретность работы программы, т.к. программа работает с БД реального сайта и если попадет, например, в руки врага, то тот сможет просто-напросто все 'покилить' на сервере... Какие шаги можно предпринять, пароль на запуск, инсталляцию, оракловское соединение (уже есть), где и как хранить пароли и т.д...? Кто-нибудь сталкивался с такими вещами, буду рад получить вразумительный ответ... Спасибо!

Решение задачи: «Нужен совет об увеличении безопасности VB-шного приложения»

textual
Листинг программы
Private Const thisString = '-- здесь достаточно длинная строка (у меня 86) из любых символов --'
Private thisStart As Variant
 
Private Sub Form_Load()
  thisStart = Array(52, 25, 43, 67, 28, 16, 49, 46, 4, 61, 31, 34, 19, 10, 64, 37, 58, 7, 1, 40, 55, 13)
End Sub
 
 
Private Function Encrypt(yourString As String) As String
  Dim myIndex As Integer, myOffset As Integer
  Dim myChar As Integer, myLeft As Integer, myRight As Integer
 
  myOffset = (Len(yourString) * 2) Mod 22
  For myIndex = 1 To Len(yourString)
    myChar = Asc(Mid(yourString, myIndex, 1))
    myRight = myChar And 7
    myLeft = myChar  8
    Encrypt = Encrypt & Mid(thisString, myLeft + thisStart(myOffset), 1) & Mid(thisString, myRight + thisStart(myOffset + 1), 1)
    myOffset = (myOffset + 2) Mod 22
  Next myIndex
End Function
 
Private Function Decrypt(yourString As String) As String
  Dim myIndex As Integer, myOffset As Integer
  Dim myChar As Integer, myLeft As Integer, myRight As Integer
  
  If (Len(yourString) Mod 2) Then
    Err.Raise 541, 'Decrypt', 'Invalid Password'
  End If
 
  myOffset = Len(yourString) Mod 22
  For myIndex = 1 To Len(yourString) Step 2
    myLeft = InStr(Mid(thisString, thisStart(myOffset), 16), Mid(yourString, myIndex, 1)) - 1
    myRight = InStr(Mid(thisString, thisStart(myOffset + 1), 16), Mid(yourString, myIndex + 1, 1)) - 1
    If (myLeft < 0) Or (myRight < 0) Then
      Err.Raise 541, 'Decrypt', 'Invalid Password'
    End If
    myChar = (myLeft * 8) Or myRight
    Decrypt = Decrypt & Chr(myChar)
    myOffset = (myOffset + 2) Mod 22
  Next myIndex
End Function

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

6   голосов , оценка 4.333 из 5
Похожие ответы