Вверх ↑
Этот топик читают: Гость
Ответов: 58
Рейтинг: 1
#1: 2015-11-16 21:36:23 ЛС | профиль | цитата
Через компонент EnCrypt зашифровал строку и сохранил ее в файл.Открыл файл и саму строку,попробовал расшифровать через DeCrypt - не получилось.Если же зашифровать и расшифровать строку не сохраняя ее в файл,то все получается.Как я понял,некоторые символы не правильно записываются в файл и поэтому невозможно потом это расшифровать.Есть еще вариант для шифровки текста только символами 0 и 1.Через какой компонент это можно реализовать?
Методом XOR через компонент Cryptography не получается.
карма: 0

0
Ответов: 8926
Рейтинг: 823
#2: 2015-11-16 22:36:55 ЛС | профиль | цитата
Jonson, ну а где схема шифровки/дешифровки?
(В файл-то символы правильно записываются, но не все правильно в интерфейсных элементах отображаются )
карма: 19

0
Ответов: 58
Рейтинг: 1
#3: 2015-11-16 23:05:16 ЛС | профиль | цитата
Например вот:
code_36519.txt

если попробовать зашифровать цифру 2 больше 7 раз,то нельзя расшифровать
карма: 0

0
файлы: 1code_36519.txt [1KB] [507]
Ответов: 655
Рейтинг: 18
#4: 2015-11-16 23:19:54 ЛС | профиль | цитата
Jonson, при шифровании в сроке появляются так называемые не печатные символы, не уверен что они сохраняются. Переводи строку в hex.

Add(EnCrypt,7694506,385,112)
{
HashMode=0
Key="1262GeqJewB1K"
link(onEnCrypt,5223505:doConvert,[])
link(Data,13489714:Text,[(391,100)(359,100)(359,149)(328,149)])
}
Add(Edit,13489714,322,105)
{
Left=60
Top=95
Width=250
link(onEnter,7694506:doEnCrypt,[])
}
Add(StrList,2403787,532,112)
{
FileName="encryption"
link(onChange,2403787:doSave,[(576,118)(576,136)(520,136)(520,153)])
}
Add(DeCrypt,14261023,658,189)
{
HashMode=0
Key="1262GeqJewB1K"
link(onDeCrypt,9069609:doAdd,[])
}
Add(StreamConvertor,5223505,469,112)
{
Mode=2
link(onResult,2403787:doAdd,[])
}
Add(StreamConvertor,3703891,602,189)
{
Mode=3
link(onResult,14261023:doDeCrypt,[])
}
Add(Button,5287699,364,203)
{
Left=55
Top=165
link(onClick,2406965:doEvent1,[])
}
Add(ArrayEnum,6151433,497,238)
{
link(onItem,3703891:doConvert,[(565,244)(565,195)])
link(Array,14502957:Array,[])
}
Add(Memo,9069609,749,189)
{
Left=350
Top=25
Width=270
Height=345
}
Add(StrList,14502957,483,175)
{
FileName="encryption"
}
Add(Hub,2406965,441,203)
{
link(onEvent1,14502957:doLoad,[])
link(onEvent2,6151433:doEnum,[(476,216)(476,244)])
}

карма: 0

0
файлы: 1code_36520.txt [1.1KB] [567]
Ответов: 58
Рейтинг: 1
#5: 2015-11-16 23:26:33 ЛС | профиль | цитата
Gunnman, Загрузите,пожалуйста,еще раз схему.У меня ошибка
------------ Дoбавленo в 23.26:
Спасибо)
карма: 0

0
Ответов: 655
Рейтинг: 18
#6: 2015-11-16 23:27:27 ЛС | профиль | цитата
В той схеме ошибка была, сейчас поправил.
карма: 0

0
Ответов: 58
Рейтинг: 1
#7: 2015-11-16 23:28:08 ЛС | профиль | цитата
А шифрование с помощью цифр 0 и 1 можно реализовать?
карма: 0

0
Ответов: 655
Рейтинг: 18
#8: 2015-11-16 23:29:12 ЛС | профиль | цитата
Для нормального шифрования лучше AES использовать )
------------ Дoбавленo в 23.29:
Всмысле 0 и 1? Ключ чтобы был 0 или 1?
карма: 0

0
Ответов: 58
Рейтинг: 1
#9: 2015-11-16 23:34:16 ЛС | профиль | цитата
Вместо таких символов чjе7$вY–, сделать 0 и 1.Например зашифрованное слово "Привет" - 0010010
------------ Дoбавленo в 23.34:
Цифры точно должны правильно записаться в файл
карма: 0

0
Ответов: 655
Рейтинг: 18
#10: 2015-11-16 23:42:11 ЛС | профиль | цитата
Jonson, и смысл такого шифрования? Разбирайся) потом расскажешь как это сделать)
карма: 0

1
Голосовали:Jonson
Ответов: 58
Рейтинг: 1
#11: 2015-11-16 23:45:50 ЛС | профиль | цитата
Честно,идея с hex намного лучше.Спасибо!
карма: 0

0
Разработчик
Ответов: 26153
Рейтинг: 2127
#12: 2015-11-17 01:10:23 ЛС | профиль | цитата
Если нужно писать в бинарный файл, то никаких проблем я здесь не наблюдаю

Add(MainForm,2953706,217,119)
{
Width=307
Height=194
}
Add(EnCrypt,7694506,336,126)
{
HashMode=0
Key="1262GeqJewB1K"
link(onEnCrypt,5223505:doConvert,[])
link(Data,13489714:Text,[(342,114)(310,114)(310,163)(279,163)])
}
Add(Edit,13489714,273,119)
{
Left=10
Top=10
Width=270
Text=""
link(onEnter,7694506:doEnCrypt,[])
}
Add(DeCrypt,14261023,399,189)
{
HashMode=0
Key="1262GeqJewB1K"
link(onDeCrypt,9069609:doAdd,[])
}
Add(StreamConvertor,5223505,392,126)
{
Mode=7
link(onResult,5926469:doCopyFromStream,[])
}
Add(StreamConvertor,3703891,350,189)
{
Mode=6
link(onResult,14261023:doDeCrypt,[])
}
Add(Button,5287699,217,189)
{
Left=115
Top=125
Width=70
Caption="Decrypt"
link(onClick,14265961:doEvent1,[])
}
Add(Memo,9069609,448,189)
{
Left=10
Top=35
Width=270
Height=85
}
Add(FileStream,5926469,448,112)
{
FileName="encryption.bin"
Mode=1
AutoCopy=0
Point(doCopyFromStream)
}
Add(FileStream,15106730,301,189)
{
FileName="encryption.bin"
link(onLoad,3703891:doConvert,[])
}
Add(Hub,14265961,273,189)
{
link(onEvent1,15106730:doOpen,[])
link(onEvent2,15106730:doClose,[])
}

карма: 22

0
Ответов: 4630
Рейтинг: 749
#13: 2018-04-27 13:34:40 ЛС | профиль | цитата
У кого-то на Windows XP алгоритмы AES работают?
Add(MainForm,8308775,154,126)
{
Height=224
Caption="Crypt/Decrypt"
BorderStyle=1
Position=1
}
Add(Edit,4011429,245,126)
{
Left=60
Top=5
Width=320
Text="123456"
}
Add(Label,15199179,154,175)
{
Left=10
Top=10
Width=48
Height=17
Caption="Пароль:"
}
Add(Label,7423167,154,224)
{
Left=10
Top=35
Width=37
Height=17
Caption="Текст:"
}
Add(Button,10235240,455,322)
{
Left=170
Top=140
Width=100
Height=25
Caption="Расшифровать"
link(onClick,6995826:doConvert,[])
}
Add(Button,3271176,371,161)
{
Left=60
Top=140
Width=95
Height=25
Caption="Зашифровать"
link(onClick,6643402:doEncrypt,[])
}
Add(LineBreakEx,760123,560,294)
{
Caption="pass"
Type=2
}
Add(LineBreakEx,3037814,245,168)
{
Caption="pass"
Type=3
link(_Data,4011429:Text,[])
}
Add(Message,3952053,609,329)
{
Caption="Ошбика"
Icon=1
}
Add(Memo,4574646,735,140)
{
Left=60
Top=35
Width=320
Height=95
Strings=#9:абвгд1234|
ScrollBars=2
}
Add(StreamConvertor,12754747,602,161)
{
Mode=2
link(onResult,10856346:doEvent1,[])
}
Add(StreamConvertor,6995826,504,322)
{
Mode=3
Point(Data)
link(onResult,10309613:doDecrypt,[])
link(Data,2985829:getVar,[])
}
Add(LineBreakEx,6214002,434,133)
{
Caption="pass"
Type=2
}
Add(Hub,10856346,700,161)
{
InCount=2
OutCount=1
link(onEvent1,4574646:doText,[])
}
Add(LineBreakEx,12562536,735,203)
{
Caption="dt"
Type=3
link(_Data,4574646:Text,[])
}
Add(LineBreakEx,6499969,427,105)
{
Caption="dt"
Type=2
}
Add(LineBreakEx,2985829,504,294)
{
Caption="dt"
Type=2
}
Add(Label,13984803,609,203)
{
Left=60
Top=170
Width=320
Caption=""
AutoSize=1
}
Add(Hub,7370935,525,161)
{
link(onEvent1,12754747:doConvert,[])
link(onEvent2,14161964:doReplace,[(549,174)(549,209)])
}
Add(Replace,14161964,560,203)
{
SubStr="\0"
DestStr="."
link(onReplace,13984803:doText,[])
}
Add(EnCrypt,6643402,427,161)
{
Mode=7
Point(onError)
link(onEncrypt,7370935:doEvent1,[])
link(Data,6499969:getVar,[])
link(Key,6214002:getVar,[])
link(onError,610738:doMessage,[])
}
Add(DeCrypt,10309613,553,322)
{
Mode=7
Point(onError)
link(onDecrypt,10856346:doEvent2,[(671,328)(671,174)])
link(Key,760123:getVar,[])
link(onError,3952053:doMessage,[])
}
Add(Message,610738,476,168)
{
Caption="Ошбика"
Icon=1
}
карма: 26

0
Разработчик
Ответов: 26153
Рейтинг: 2127
#14: 2018-04-27 17:05:58 ЛС | профиль | цитата
Проблема в MS_ENH_RSA_AES_PROV
В XP надо попытаться использовать MS_ENH_RSA_AES_PROV_XP

Редактировалось 2 раз(а), последний 2018-04-27 17:07:46
карма: 22

0
Ответов: 4630
Рейтинг: 749
#15: 2018-04-27 17:17:46 ЛС | профиль | цитата
Сделал такую вещь: Crypt components mod 2018-05-04.zip

Список изменений:

Добавлены:
- свойства BlockMode, InitVector, BufferSize
- методы doEncryptFile, doEncryptStream, doDecryptFile, doDecryptStream, doAbort
- верхние точки SrcFileName, DstFileName, SrcStream, DstStream, Count
- cобытие onProgress

- код компонентов значительно переработан, доработан файл MSCryptoAPI.pas
- алгоритмы AES работают на Windows XP
- дополнительные коды ошибок
- шифрование пустых строк не является ошибкой

Редактировалось 4 раз(а), последний 2018-05-04 11:28:00
карма: 26

1
Голосовали:3042
Сообщение
...
Прикрепленные файлы
(файлы не залиты)