Вверх ↑
Ответов: 321
Рейтинг: 10
#1: 2018-11-09 16:02:02 ЛС | профиль | цитата
Netspirit писал(а):
Настроить HTTPS на сервере, всё остальное заработает само без изменений.


А если http только ?!
Вот простой вариант из примеров...
Add(MainForm,12142676,532,210)
{
Width=637
Height=383
Caption="Пример Cryptography"
}
Add(Cryptography,6973355,616,273)
{
link(onCrypt,4588001:doValue,[])
link(Data,15424103:Text,[])
link(Key,1782352:Var2,[])
}
Add(Cryptography,5267281,623,357)
{
link(onCrypt,12306924:doText,[])
link(Data,4588001:Value,[(629,339)(685,339)])
link(Key,1782352:Var3,[(636,300)(638,300)(638,257)])
}
Add(Button,7836147,532,273)
{
Left=525
Top=75
Caption="crypt"
link(onClick,6973355:doCrypt,[])
}
Add(Button,5106960,532,357)
{
Left=60
Top=285
Caption="encrypt"
link(onClick,5267281:doCrypt,[])
}
Add(Edit,15424103,616,161)
{
Left=120
Top=75
Width=400
Text="hiasm"
}
Add(Edit,12306924,805,357)
{
Left=120
Top=285
Width=400
Text=""
}
Add(Edit,12437416,917,273)
{
Left=120
Top=135
Width=400
Text=""
}
Add(Edit,3895954,623,210)
{
@Color=22015
Left=120
Top=15
Width=400
Text="xorkey"
}
Add(Label,13384348,532,161)
{
Left=26
Top=17
Width=61
Height=17
Font=[MS Sans Serif,8,1,255,1]
Caption="XOR_KEY"
}
Add(GetDataEx,1782352,623,252)
{
link(Data,3895954:Text,[])
}
Add(StreamConvertor,11115644,805,273)
{
Mode=2
link(onResult,12437416:doText,[])
}
Add(Memory,4588001,679,273)
{
link(onData,12568105:doEvent1,[])
}
Add(Hashsum,96254,973,406)
{
HashType=1
link(onResult,8471905:doText,[])
}
Add(Button,12629218,532,406)
{
Left=525
Top=135
Caption="+SHA"
link(onClick,5138011:doEvent1,[])
}
Add(Edit,8471905,1036,406)
{
Left=120
Top=165
Width=400
Text=""
}
Add(Label,6353965,364,210)
{
Left=26
Top=47
Width=60
Height=17
Font=[MS Sans Serif,8,1,255,1]
Caption="SHA_KEY"
}
Add(Edit,9108430,805,315)
{
Left=120
Top=105
Width=400
Text=""
}
Add(Hub,12568105,742,273)
{
link(onEvent1,11115644:doConvert,[])
link(onEvent2,9108430:doText,[(780,286)(780,321)])
}
Add(Label,16760565,30,110)
{
Left=26
Top=77
Width=35
Height=17
Font=[MS Sans Serif,8,1,32768,1]
Caption="string"
}
Add(Edit,902147,973,273)
{
@Color=22015
Left=120
Top=45
Width=400
Text="shakey"
}
Add(Label,2685614,51,109)
{
Left=26
Top=107
Width=60
Height=17
Font=[MS Sans Serif,8,1,32768,1]
Caption="string(xor)"
}
Add(Label,2240250,50,103)
{
Left=26
Top=137
Width=87
Height=17
Font=[MS Sans Serif,8,1,32768,1]
Caption="string(xor+hex)"
}
Add(StrCatDelim,14398264,917,406)
{
Delimiter="_"
link(onStrCatDlm,96254:doHashsum,[])
link(Str1,7339693:Var2,[])
link(Str2,902147:Text,[(930,324)(979,324)])
}
Add(FormatStr,4313665,1029,476)
{
Mask="str=%1;\r\nsha_hash=%2;"
link(onFString,13790867:doAdd,[])
link(Str1,7339693:Var3,[(1035,369)])
link(Str2,8471905:Text,[])
}
Add(Memo,13790867,1127,476)
{
Left=120
Top=195
Width=400
}
Add(Hub,5138011,623,406)
{
link(onEvent1,14398264:doStrCatDlm,[])
link(onEvent2,4313665:doString,[(833,419)(833,482)])
}
Add(GetDataEx,7339693,917,364)
{
link(Data,12437416:Text,[])
}




________________________________________________________

Задачи:
-Защита содержимого от чтения передаваемых данных (используем xor шифрование).
-Защита содержимого от редактирования данных из вне (используем sha1).


Защита не очень, сам понимаю, но пока хотя-бы так реализовать.
________________________________________________________


Извините за тему, тут наверное больше по php вопрос, нежели чем по hiasm, это себе, чтобы двигаться вперед)
Может кому-нибудь пригодится потом.
________________________________________________________

Теперь пишем скрипт php для приема данных от программы:
-проверяем sha1... это наброски, еще не проверял на работоспособность
<?php
$sha_key = 'shakey'; // секретный ключ

$sha1 = sha1( $_POST['str'] . '&' . $sha_key. );

if ($sha1 != $_POST['sha_hash'] ) {
// тут содержится код на случай, если верификация не пройдена
echo "Данные повреждены";
exit;
}
?>
карма: 1

0
Редактировалось 1 раз(а), последний 2018-11-09 16:03:03