Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Как в ADO зашифровать пароль на базу Access mdb ,чтобы в ехе не видно было?? / 9 сообщений из 9, страница 1 из 1
13.11.2003, 21:48
    #32323743
tihonov
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как в ADO зашифровать пароль на базу Access mdb ,чтобы в ехе не видно было??
Всем привет. Как в ADO зашифровать пароль на базу Access mdb? После компиляции в ехешнике остаются прописаны все ConnectionString -и в явном виде где прописаны пароль и т.п. Ищутся обычным просмотром по F3 .В самом же mdb этого не увидешь . И получается защищал базу ,а дельфа все рассказала .Это для любого подключения в ADO (SQL, Paradox и пр.) с ехешника можно прочесть пароль ??
Кто знает как с этим бороться?
Спасибо!
...
Рейтинг: 0 / 0
14.11.2003, 05:41
    #32323816
mike_n
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как в ADO зашифровать пароль на базу Access mdb ,чтобы в ехе не видно было??
For starters, the simplest way is to hardcode encoded password (encode using some simple algorithm that is a part of your application. Then, when the app runs, decode it and build connection string on the fly. Basically, this is quite a common problem, many compilers treat literal constansts in the same way (VB, etc.). If you want to be more sophisticated, keep encrypted password in registry and embed decryption code into your app. As far as I know, Delphi can consume COM objects and it seems to me that Microsoft has some COM wrappers for their Win32 CryptoAPI library. Personally, I just use this library with Visual C++. Quite simple. I am not familiar with Delphi, but if you can call Win32 C functions from within Delphi code, this is the way to go (my assamption you are developing on Microsoft platform). Good luck.
...
Рейтинг: 0 / 0
14.11.2003, 07:14
    #32323846
Valdemar
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как в ADO зашифровать пароль на базу Access mdb ,чтобы в ехе не видно было??
Интересно ты понял его ответ, перевести.
...
Рейтинг: 0 / 0
14.11.2003, 07:45
    #32323861
Luchkin Dmitry
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как в ADO зашифровать пароль на базу Access mdb ,чтобы в ехе не видно было??
простейший вариант:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
....
function  TSBKey.charXor(cStr, cXorMask : string) : string;
var
   nl1, nl2   : integer;
begin
   Result:= cStr; nl2:=  1 ;
   for nl1:=  1  to length(cStr) do begin
      Result[nl1]:= Char(Byte(cStr[nl1]) xor Byte(cXorMask[nl2]));
      Inc(nl2);
      if nl2 > length(cXorMask) then nl2:=  1 
   end;
end;
.....
charXor('­ѓ’Џ“џАЃ‹“џ—ћ?„', 'маска') // 'Access password'

берёшь в дизайне ConnectionString, прогоняешь через эту фигню, а в run-time получаешь из этого нормальную строку снова.
:)
...
Рейтинг: 0 / 0
14.11.2003, 07:57
    #32323864
Valdemar
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как в ADO зашифровать пароль на базу Access mdb ,чтобы в ехе не видно было??
Ты ему предложил Дос кодировку, а видеть ее так же будут и дальше.
...
Рейтинг: 0 / 0
14.11.2003, 08:04
    #32323870
Luchkin Dmitry
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как в ADO зашифровать пароль на базу Access mdb ,чтобы в ехе не видно было??
где? будет видно только 'ѓ’Џ“џАЃ‹“џ—ћ?„' и 'маска', а 'Access password' - нигде не увидишь.
...
Рейтинг: 0 / 0
14.11.2003, 09:50
    #32323975
Valdemar
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как в ADO зашифровать пароль на базу Access mdb ,чтобы в ехе не видно было??
Напиши эту калябулю в файл просмотри в фаре
...
Рейтинг: 0 / 0
14.11.2003, 22:10
    #32325184
mike_n
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как в ADO зашифровать пароль на базу Access mdb ,чтобы в ехе не видно было??
To Valdemar...

Nope, it is not DOS encoding, it is password XORed with something. And basically, this is how all symmetric encryption algorithms work (plus permutation). Generally speaking you are right - executable file is not the right place to keep password. Even more, a PC itself is not the right place either. If you anticipate that your code may be attacked by a professional crypto-analyst, get yourself a smart id card or something else of this kind. National Security Agency (something our late FAPSI was similar to) never implements encryption algorithms as pure software solutions - always as tamper-resistant microchips. But we are not talking here about NSA or FAPSI, aren't we? For common end-users keeping encrypted connection string in registry is enough. What are you protecting, anyways? Viably important state secrets? Hardly. And for corporate junk this will do.

PS: Sorry for using English, I am on a corporate comp, not allowed to install another locale and hate to write Russian with Latin fonts. Such a mess comes out.
...
Рейтинг: 0 / 0
14.11.2003, 22:53
    #32325191
tihonov
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как в ADO зашифровать пароль на базу Access mdb ,чтобы в ехе не видно было??
Парни , спасибо ! Сам понял, что спросил фигню, но было уже поздо вопрос опубликовался
...
Рейтинг: 0 / 0
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Как в ADO зашифровать пароль на базу Access mdb ,чтобы в ехе не видно было?? / 9 сообщений из 9, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]