Нужен совет об увеличении безопасности 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
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д