|
Тема
|
Разделяне на низ
|
|
Автор |
peio (one of my turns) |
Публикувано | 06.05.03 18:29 |
|
Здравейте,
имам следния проблем : поставил съм си за цел да разделя един низ (парола) между N човека , като условието е да са нужни само M от тях, за да се събере низа отново. Първото решение, което приложих е да раздавам всеки символ от низа на M различни човека, но по този начин трябва да дам по (N+1 - М) / N част от низа на всеки отделен човек, което означава, че празните позиции във всяка част от ключа могат лесно да бъдат запълнени чрез обхождане на всички възможности. Тъй като начина, който съм изложил по-долу, ми дава възможност да го приложа към произволно дълъг низ, то аз мога да използвам толкова дълъг низ за парола, че празните позиции във всяко парче да са достатъчно много за да обезмислят услията за запълване чрез обхождане то той според мен е приложим само ако паролата, която деля, е симетрична и дължината си я определям единствено аз. Проблемът идва ако низа, който деля е частния ключ от асиметрина двойка, който е с фиксирана максимална големина. Тогава вече опастността от опит за обхождане на всички възможности е реална.
Въпросът ми е какъв друг начин мога да използвам за да постигна същата цел ?
Ето сегашното решение на проблема, което не е особено блестящо, но се спрях до тук поради горните съображения :
<?php
function keysplit($Persons, $Parts){
global $str;// въпросната парола/ключ
$rPersons = ($Parts+1) - $Persons;
$nLoop = 0;
for($nSymbol=0 ; $nSymbol < strlen($str) ; $nSymbol++){
$startElement = $nSymbol - ($Parts*$nLoop);
for($i=0 ; $i < $rPersons ; $i++){
$resultElement = $startElement + $i;
if($resultElement > $Parts)
$resultElement = $resultElement % $Parts;
elseif($resultElement == 0)
$resultElement = $Parts;
$result[$resultElement] .= $str[$nSymbol];
}
for($j = 0; $j < ($Parts-$rPersons); $j++){
$emptyElement = $startElement+$rPersons+$j ;
if($emptyElement > $Parts)
$emptyElement = $emptyElement % $Parts;
elseif($startElement == 0)
$emptyElement = $rPersons+$j;
$result[$emptyElement] .= "_";
}
if( ($nSymbol % $Parts) == 0 and $nSymbol != 0)
$nLoop++;
}
return $result;
}
?>
# лудите, лудите... те да са живи!
| |
Тема
|
въпрос offtopic
[re: peio]
|
|
Автор |
Dakota (erotoman) |
Публикувано | 07.05.03 14:17 |
|
Как успя да го направиш този indent?
| |
Тема
|
далеч по логично ми изглежда...
[re: peio]
|
|
Автор |
Topбaлaн (любопитко) |
Публикувано | 07.05.03 14:42 |
|
всеки да си има собствена парола...така, ще може да си я променя когато реши...
а ти просто да броиш дали са се логнали М от юзерите...
че и с по-малко писане ще стане...
| |
Тема
|
Re: въпрос offtopic
[re: Dakota]
|
|
Автор |
peio (one of my turns) |
Публикувано | 07.05.03 16:29 |
|
кое е indent !?
# лудите, лудите... те да са живи!
| |
Тема
|
Re: далеч по логично ми изглежда...
[re: Topбaлaн]
|
|
Автор |
peio (one of my turns) |
Публикувано | 07.05.03 16:35 |
|
проблемът е за частен ключ от асиметрична двойка, в която двата ключа са комплементарни. а иначе и самия частен ключ е защитен с парола във всички случаи, освен когато е част от x509 сървърен сертификат и ако е криптиран ще трябва така или иначе да се декриптира при всяка заявка
# лудите, лудите... те да са живи!
| |
Тема
|
Re: въпрос offtopic
[re: peio]
|
|
Автор |
Dakota (erotoman) |
Публикувано | 07.05.03 19:08 |
|
Отместващото подреждане на кода.
| |
Тема
|
Re: въпрос offtopic
[re: Dakota]
|
|
Автор |
peio (one of my turns) |
Публикувано | 07.05.03 22:33 |
|
бива ли човек, който от толкова време е тук и толкова помощ е дал да не знае за възможността да се слага код между [prе] и [/prе] :))
# лудите, лудите... те да са живи!
| |
Тема
|
Re: Разделяне на низ
[re: peio]
|
|
Автор |
ro6avia (mnogo ro6avia) |
Публикувано | 08.05.03 00:28 |
|
ako razdeli6 taka parolata 4e da ima povtaria6ti se 4asti sred potrebitelite i kato samo ti znae6 koi potrebitel koi 4asti4ki ima ot neia i si izmisli6 podhodia6t algoritam za delene koito da ti garantira 4e pri proizvolni M potrebitelia 6te sabere6 cialata parola (kato sglobi6 4astite ot vseki i mahne6 povtoreniata razbira se). Teoria za tova -> kombinatorika
E tuk ni6to niama :
| |
Тема
|
Re: въпрос offtopic
[re: peio]
|
|
Автор |
Dakota (erotoman) |
Публикувано | 08.05.03 11:08 |
|
Oh yeah...10x, това ще повиши качеството на писането значително...![](http://i.dirbg.com/clubs/icons/wink.gif)
| |
|
|
|
|