On-line: PSP, гостей 1. Всего: 2 [подробнее..]
АвторСообщение



Не зарегистрирован
Зарегистрирован: 01.01.70
ссылка на сообщение  Отправлено: 26.03.09 19:30. Заголовок: Шифрование таблиц с помощью SIX


Здравствуйте всем!
Пробую переводить Clipper-проект под Harbour, но столкнулся с двумя проблемами:
1. В дистрибутиве, который у меня есть нет библиотеки CODEPAGE.LIB, соответственно не могу нормально работать с русским языком
2. В Clipper'е применялось шифрование таблиц с помощью SIX. При просмотре этих талиц с помощью Harbour видны "карябушки". Есть ли надежда, что это мое неумение, или шифрование не совпадает?

Спасибо: 0 
Цитата Ответить
Ответов - 7 [только новые]





Не зарегистрирован
Зарегистрирован: 01.01.70
ссылка на сообщение  Отправлено: 26.03.09 20:14. Заголовок: Первый вопрос снят: ..


Первый вопрос снят: разобрался


Спасибо: 0 
Цитата Ответить
администратор




Пост N: 1165
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 26.03.09 22:29. Заголовок: Покажи код по 2 вопр..


Покажи код по 2 вопросу.

Спасибо: 0 
ПрофильЦитата Ответить



Не зарегистрирован
Зарегистрирован: 01.01.70
ссылка на сообщение  Отправлено: 27.03.09 08:16. Заголовок: У нас в проекте шифр..


У нас в проекте шифруются не все таблицы. Если таблица зашифрована, то она открывается с паролем, и потом
в любом месте программы из нее извлекаются расшифрованные данные, а записываются в нее шифрованные.
Harbour похоже работает не совсем так. Я еще не набрал достаточно статистики, но некоторые наблюдения есть:
шифрованные таблицы показываются "карябушками", зато в нешифрованную таблицу вносятся закодированные
записи. То есть что-то про шифрование Harbour все-таки знает.

*********************************************
proc sdbfopen(mbase,malias,lshare,lReadOnly)
*********************************************
// Открытие с проверкой на зашифрованность и переоткрытие в режиме
// шифрования, если нужно
local lopen:=.f.
if dbfopen(mbase,malias,lshare,lReadOnly)
if sx_TableType()=2 // Проверяем на зашифрованность.
close(malias)
sx_SetPass(SLPassWord(),1)
if dbfopen(mbase,malias,lshare,lReadOnly)
lopen:=.t.
endif
else
lopen:=.t.
endif
endif
return lopen


Спасибо: 0 
Цитата Ответить
постоянный участник


Пост N: 621
Зарегистрирован: 09.10.06
ссылка на сообщение  Отправлено: 27.03.09 08:46. Заголовок: Я не знаюпоможет эта информация или нет


Вопрос

 цитата:
Hi Przemek,
I don't have SIX3, but I am reading the guides in http://www.ousob.com/ng/six3/index.php

DBFdecrypt doesn't use a parameter as you said. As I can see I should use SetPass instead. But at least for me this code doesn't work, the table remains encrypted, sorry if I miss something:

proc main()
If !File("CLIENTS.DBF")
DbCreate("CLIENTS", {{"NAME", "C", 40, 0}})
Use CLIENTS
Append Blank
CLIENTS->NAME := 'Ivanhoe'
Close CLIENTS
EndIf

REQUEST SIXCDX
Use CLIENTS Via "SIXCDX" NEW
If sx_TableType() = 2
sx_SetPass("PASS")
EndIf
? "NAME = "+CLIENTS->NAME // the second time it shows encrypted caracters
If sx_TableType() = 1
? "Table not encrypted, will be encrypted"
sx_DBFencrypt("PASS")
Else
sx_DBFdecrypt()
EndIf
Close CLIENTS



Ответ

 цитата:
This code also does not work in SIX3 as you may expect because
SX_SETPASS() does not reset the internal record buffer (IMHO
it's a bug which should not be replicated) so after SX_SETPASS()
you should add GBGOTO(RECNO()) to see the effect. And now we
have an example which shows the problem: I forget to implement
additional SX_SETPASS() actions and added only support for setting
pending password in USE operation. I'll fix it in a while. Many
thanks for example. Meanwhile use:
dbInfo( DBOI_PASSWORD, "PASS" )
instead of:
sx_SetPass( "PASS" )
as workaround.



И далее
2008-01-14 19:35 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
! fixed problem with setting password for currently open table
with SX_SETPASS( <cPass> )

т.е. можно использовать просто

local lopen:=.f.

if dbfopen(mbase,malias,lshare,lReadOnly)
if sx_TableType()=2 // Проверяем на зашифрованность.
sx_SetPass(SLPassWord(),1)
endif
lopen:=.t.
endif

return lopen

И вопрос к вам, что вы используете Harbour или xHarbour и какую версию.


Спасибо: 0 
ПрофильЦитата Ответить



Не зарегистрирован
Зарегистрирован: 01.01.70
ссылка на сообщение  Отправлено: 27.03.09 09:20. Заголовок: Использую Harbour, с..


Использую Harbour, сборку от 17.09.08
По поводу включения пароля после открытия в Clipper'е у меня что-то не получалось. Переоткрытие было сделано после некоторых мучений. Но сейчас дело не в этом. Clipper шифрование применял только для той таблицы, которая была открыта с паролем, а Harbour почему-то пытается шифровать другие таблицы.

Спасибо: 0 
Цитата Ответить



Не зарегистрирован
Зарегистрирован: 01.01.70
ссылка на сообщение  Отправлено: 27.03.09 10:09. Заголовок: Спасибо большое, Пет..


Спасибо большое, Петр!
Все наладилось. Проблема в разных подходах Clipper'а и Harbour'а к шифрованию. В первом нужно сначала установить sx_SetPassSLPassWord(),1), а потом открывать таблицу, а в Harbour - наоборот.


Спасибо: 0 
Цитата Ответить
постоянный участник


Пост N: 622
Зарегистрирован: 09.10.06
ссылка на сообщение  Отправлено: 27.03.09 10:10. Заголовок: wad1 пишет: По пово..


wad1 пишет:

 цитата:
По поводу включения пароля после открытия в Clipper'е у меня что-то не получалось.


Так и не должно получаться - см.выше (IMHO it's a bug which should not be replicated)

 цитата:
а Harbour почему-то пытается шифровать другие таблицы.


Маленький пример (как в посте №4) сильно помог бы делу.


 цитата:
Все наладилось.


Вот и хорошо. На счет разницы в подходах - во первых [x]Harbour is superset Clipper, т.е. имеет множественные (и весьма полезные) расширения, во вторых разработчики [x]Harbour не хотят
воспроизводить глюки Clipper (a bug which should not be replicated) или 3d библиотек, и в третьих там и своих глюков достаточно и нужно вовремя сообщать о них разработчикам.

Спасибо: 0 
ПрофильЦитата Ответить
Ответ:
1 2 3 4 5 6 7 8 9
большой шрифт малый шрифт надстрочный подстрочный заголовок большой заголовок видео с youtube.com картинка из интернета картинка с компьютера ссылка файл с компьютера русская клавиатура транслитератор  цитата  кавычки моноширинный шрифт моноширинный шрифт горизонтальная линия отступ точка LI бегущая строка оффтопик свернутый текст

показывать это сообщение только модераторам
не делать ссылки активными
Имя, пароль:      зарегистрироваться    
Тему читают:
- участник сейчас на форуме
- участник вне форума
Все даты в формате GMT  3 час. Хитов сегодня: 36
Права: смайлы да, картинки да, шрифты да, голосования нет
аватары да, автозамена ссылок вкл, премодерация откл, правка нет