algoritmi.1nbatocanin,
Zna li neko tačan algoritam po kome se obrađuju tekući računi u
bankama? Kada se računa datum realizacije čeka, kako se i kada računa
kamata i te stvari.
algoritmi.2nboskovic,
-> #1, nbatocanin*> Zna li neko tačan algoritam po kome se obrađuju tekući
*> računi u
Koliko se meni čini tu nema nikakve zakonitosti :) već to
rade kad im pristignu čekovi i kad stignu da ih ubace u
terminale.
(c) klap
nikola
algoritmi.3dejanr,
-> #2, nboskovic>> Koliko se meni čini tu nema nikakve zakonitosti :) već to
>> rade kad im pristignu čekovi i kad stignu da ih ubace u
>> terminale.
Mislim da zakonitosti ima, ali ima i grešaka. Smatra se da je
ček naplaćen onoga dana kada je STIGAO u banku, jer je tada
banka (kao) dala pare. Dakle, nije bitno što se to proknjiži
dan-dva (tri, četiri... ;) kasnije, bitan je datum dolaska čeka.
algoritmi.4dsoskic,
-> #3, dejanr> Smatra se da je ček naplaćen onoga dana kada je STIGAO u banku,
> jer je tada banka (kao) dala pare. Dakle, nije bitno što se to
> proknjiži dan-dva (tri, četiri... ;) kasnije, bitan je datum
> dolaska čeka.
Da li to važi za sve banke? "Valuta datum" je datum kad je
stigao ček u banku ili negde drugde ili onaj što piše na čeku.
Ako neko zna ovo 100% tačno da mi odgovori, može i u drugu temu,
na pr. Extra (biznis).
p.s. radi se o tužbi koju je pokrenulo jedno fizičko lice protiv
banke...
algoritmi.5dejanr,
-> #4, dsoskic>> Da li to važi za sve banke? "Valuta datum" je datum kad je
>> stigao ček u banku ili negde drugde ili onaj što piše na čeku.
Da, to je datum kada je stigao u banku, što je jednako datumu koji
piše na čeku samo ako banka ima on-line obradu podataka i ako u ekspozituri
unovčiš ček. "Beobanka" ima on-line obradu, i jedna je od retkih.
U svim drugim situacijama datum stizanja čeka je neki dan posle datuma
koji piše na njemu.
Nekada (pre "neprijatelja" Ante Markovića) se računalo prema datumu obrade
čeka, i onda je za vreme one velike inflacije krajem 1989 (onda smo mislili
da je velika, sad vidimo da je mala-malecka ;>) bilo silnog nošenja para
iz jedne banke u drugu i pokrivanja minusa. Posle su da bi to sprečili
uveli pomenuti mehanizam.
Ne znam kojim je to zakonom regulisano itd, ali znam da se tako radi u
većim bankama, u Beobanci sigurno.
algoritmi.6nbatocanin,
-> #2, nboskovic> Koliko se meni čini tu nema nikakve zakonitosti :) već to
> rade kad im pristignu čekovi i kad stignu da ih ubace u
> terminale.
Meni više ljudi rekoše za Beobanku da je datum skidanja čeka sa
računa datum na čeku, a ne datum realizacije, što je čista pljačka po
meni ;((
algoritmi.7nboskovic,
-> #6, nbatocanin*> Meni više ljudi rekoše za Beobanku da je datum skidanja
*> čeka sa računa datum na čeku, a ne datum realizacije, što
*> je čista pljačka po meni ;((
Koliko mi se čini, na izvodima koji se dobijaju od banke
piše datum obrade za svaki ček koji je na izvodu. S obzirom
da imam tekući, nisam primetio da se datum obrade poklapa
sa datumom izdavanja čeka, sem u slučaju kad sam uspevao da
dignem keš u samoj beobanci, kada je ček odma obrađen.
(c) klap
nikola
algoritmi.8snemcev,
-> #6, nbatocanin>> Meni više ljudi rekoše za Beobanku da je datum skidanja čeka sa
>> računa datum na čeku, a ne datum realizacije, što je čista pljačka po
>> meni ;((
Ovo važi za sve banke. Tako ti retroaktivno mogu obračunati kamatu, ili
je pak stornirati ako se pokaže da neka uplata nije bila proknjižena.
Onaj datum obrade nema veze sa životom. To mu dođe čisto informativno.
Verovatno su u pitanju stari obrasci, pa zbog vertikalne
kompatibilnosti...
algoritmi.9spantic,
-> #6, nbatocanin> Meni više ljudi rekoše za Beobanku da je datum skidanja
> čeka sa računa datum na čeku, a ne datum realizacije, što
> je čista pljačka po meni ;((
To valjda važi za novac dignut u banci? A ne za one realizovane u
trgovinama?
algoritmi.10dejanr,
-> #7, nboskovic>> Koliko mi se čini, na izvodima koji se dobijaju od banke
>> piše datum obrade za svaki ček koji je na izvodu. S obzirom
>> da imam tekući, nisam primetio da se datum obrade poklapa
>> sa datumom izdavanja čeka, sem u slučaju kad sam uspevao da
>> dignem keš u samoj beobanci, kada je ček odma obrađen.
I kod mene je isti slučaj. Vodi se neki "međudatum". To je dan
kada je banka stvarno dala pare tj. kad joj je ček stigao.
algoritmi.11dsoskic,
-> #7, nboskovic> imam tekući, nisam primetio da se datum obrade poklapa
> sa datumom izdavanja čeka, sem u slučaju kad sam uspevao da
Ne pamtim kad sam napisao datum, a sam realizovan ček nisam
nikad ni video da bih mogao da uporedim.
U svakom slučaju kad sam u kafani pitao kad su mi pustili ček
oni su rekli za dva dana, na tekućem ga nije bilo oko 15-ak
dana, kao šatro bio sam u plusu, međutim posle, u izvodu stvarno
videh da su u pitanju samo dva dana tj. iz plusa od 15-ak dana
vrate u pređašnje stanje pre realizacije čeka, pa ako nije bilo
dovoljno para na tekućem oni te uteraju u minus i vode te u
minusu sve da prve uplate i tako za svaki ček koji je bez
pokrića (u tom trenutku) izdat. Naravski posle nema ni positivne
kamate koju si dobijao u istom periodu, što i nije bitno.
algoritmi.12broker,
-> #6, nbatocanin> Meni više ljudi rekoše za Beobanku da je datum skidanja
> čeka sa računa datum na čeku, a ne datum realizacije, što
> je čista pljačka po meni ;((
Isto rade i u JIK banci.
algoritmi.13nbatocanin,
-> #9, spantic>> Meni više ljudi rekoše za Beobanku da je datum skidanja
>> čeka sa računa datum na čeku, a ne datum realizacije, što
>> je čista pljačka po meni ;((
>
> To valjda važi za novac dignut u banci? A ne za one
> realizovane u trgovinama?
Jok :( Pitao ja u Beobanci: 3 nezavisna uzorka službenica su mi rekla
da se *uvek* računa datum na čeku.
algoritmi.14dejanr,
-> #13, nbatocanin>> Jok :( Pitao ja u Beobanci: 3 nezavisna uzorka službenica su mi rekla
>> da se *uvek* računa datum na čeku.
Vrlo čudno. Meni se N (a N je solidno veliki broj ;) puta desilo da napišem
ček(ove) danas (za kupovinu u nekoj radnji) a da onda pare uplatim ne sutra,
nego kroz 2-3 dana. I nikad mi nije knjiženo da sam u minusu (kuc, kuc...).
Takođe znam neke koji su u dane žiralnog otkupa pisali čekove danas (i to
ne velike sume, čak i za kupovinu nekog aparata itd), pa onda sutra nosili
marke da prodaju kod Interplasta ili negde drugde, pa je opet bilo u redu.
algoritmi.15nbatocanin,
-> #14, dejanr> Vrlo čudno. Meni se N (a N je solidno veliki broj ;) puta
> desilo da napišem ček(ove) danas (za kupovinu u nekoj
> radnji) a da onda pare uplatim ne sutra, nego kroz 2-3
> dana. I nikad mi nije knjiženo da sam u minusu (kuc,
> kuc...).
Isti slučaj, do poslednjeg izvoda. Kazali su mi da ovaj sistem
primenjuju od skora.
algoritmi.16dejanr,
žini mi se da se i ovde povremeno pojavljivalo pitanje "šta su to regularni
izrazi". Možda će nekima koje to zanima koristiti ova mala rasprava sa
BIX-a, u povodu regularnih izraza na Archie-u
==========
internet/telnet #156, from rcarta, 581 chars, Sat Aug 7 10:35:33 1993
Comment(s).
----------
TITLE: A note on regular expressions.
In the course of learning to use archie servers, I found that the most
powerful means of specifying the search string was via regular expressions.
The manpage at archie.au contains an excellent reference on regular
expressions. After reading this document, I did have one question, however.
How does one specify the empty string (denoted by epsilon or lamda in most
texts on the subject)?
I sent mail to archie-admin@archie.au asking that question.
His answer was that the empty string is generally specified by a pair
of double quotes ("").
==========
internet/telnet #158, from bbayer, 171 chars, Sat Aug 7 10:48:40 1993
Comment to 156. Comment(s).
----------
ok...for us unix illiterates....
what is a Regular Expression?
(i've been waiting to ask that for the last couple of months,
and finally found the appropriate context).
==========
internet/telnet #159, from rcarta, 4351 chars, Sat Aug 7 12:23:34 1993
Comment to 158. Comment(s).
----------
Regular expressions are pretty neat, and they are a powerful thing,
but it's hard to sum them up in one breath.
(An good explanation of regular expressions can be obtained by
telneting to archie.au, logging in as archie, and typing manpage at
the archie.AU> prompt.)
I was first introduced to regular expressions in an attempt to study
compilers. Regular expressions are a definitional mechanism with
which you can specify any collection of strings. They are used in
the "scanner" section of a compiler to get valid tokens from a source
file (for instance, in C, valid tokens are any C keyword, C operator,
identifier, number, etc.).
Since regular expressions denote a collection of strings, a sort of
set notation is used.
The operations are concatenation (this and that), alternation (this
or that), positive closure (one or more of this), and Kleene closure
(zero or more of this).
Concatenation is implied, for instance ab means "a followed by b".
Here are the most basic regular expressions and the strings they
match:
Expression Matches
-------------------------------------
ab ab
a|b a
b
a+ a
aa
aaa
etc.
a* (nothing)
a
aa
aaa
etc.
One special case is the empty string, denoted by epsilon in most
texts, or by lambda in others. On archie servers, it's denoted by
"". Why would you want to use the empty string? An illustration:
letting D stand for any digit, give a regular expression for a
FORTRAN style floating-point literal.
(A number with no decimal point, a number followed by a decimal
point, a number with a decimal point in the middle, or a decimal
point followed by a number. Examples are 5, 5., 5.5, .5, and 0.5.)
(D+(""|.))|(D*.D+)
This translates to "one or more digits followed by nothing or a
decimal point, OR zero or more digits followed by a decimal point
followed by one or more digits."
In the above example, since D stands for all digits (range 0-9), D is
called a character class. The archie server uses a bracket mechanism
to specify character classes. [abc] means "one of a, b, or c".
You can also put a range in brackets. [a-z] means "one of a, b, c,
..., or z." The above regular expression would be written as
([0-9]+(""|.))|([0-9]*.[0-9]+)
for most archie servers. (It probably wouldn't find a match, though,
because not many filenames are floating-point numbers.)
(Note: To use regular expressions with an archie server, type "set
search regex" at the archie server prompt.)
A note on the use of regular expressions on an archie system:
archie systems use the period (.) as a wildcard character ("match
anything"). Therefore, the expression .* means "zero or more of
anything." When you specify your search string, it is considered to
have .* at the front and back. For instance, if I typed "find a",
the system would interpret this as "find .*a.*", meaning "find
anything, followed by an a, followed by anything." This means that
*any* occurrence of my string, if found at the beginning, in the
middle, or at the end of anything in the database, will match. There
are two special characters, ^ and $, which modify this. "find ^cat"
means "find anything beginning with cat, followed by zero or more
occurrences of anything." Matches are cat, catx, catcc, etc. "find
cat$" means "Find zero or more occurrences of anything, followed by
cat". Matches are cat, acat, xxcat, but not catx. "find ^cat$"
directs the archie system to find the string cat and nothing else.
Note: Each symbol in a regular expression is case-sensitive. In a
regular expression this may be overcome with character classes. For
instance, [Mm] matches one of M or m.
The string [Mm][Ss]-*[Dd][Oo][Ss] means
"Find zero or more of anything, followed by M or m, followed by S or
s, followed by zero or more -, etc."
Matching strings are MSDOS, MSdos, MS-DOS, ms-dos, Ms--dOs, etc.
I hope this helps. The concept of regular expressions is just one of
those things that's simple once you understand it, but attaining the
understanding can be real difficult. It was for me.
==========
internet/telnet #160, from bbayer, 101 chars, Sat Aug 7 15:58:38 1993
Comment to 159. More refs to 159.
----------
argh!
and i had to ask.
OK! I'll download the above, print it out, and study.
Thanks for the help.
==========
internet/telnet #161, from paulr, 171 chars, Sat Aug 7 16:12:47 1993
Comment to 159. Comment(s). More refs to 159.
----------
That is a very nice explanation! I'm going to save that one. I may
file the serial numbers off and make use of next time someone asks that
question. :) :)
-Paul
==========
internet/telnet #163, from thefuzz, 2558 chars, Sat Aug 7 18:51:35 1993
Comment to 159. Comment(s). More refs to 159.
----------
To further the confusion, here is a portion of the GNU grep/egrep
manual page. Archie, and most regular expression matchers use
the "egrep" syntax:
REGULAR EXPRESSIONS
(grep) (egrep) (explanation)
c c a single (non-meta) character
matches itself.
. . matches any single character except
newline.
\? ? postfix operator; preceeding item
is optional.
* * postfix operator; preceeding item
0 or more times.
\+ + postfix operator; preceeding item 1
or more times.
\| | infix operator; matches either
argument.
^ ^ matches the empty string at the
beginning of a line.
$ $ matches the empty string at the end
of a line.
\< \< matches the empty string at the
beginning of a word.
\> \> matches the empty string at the end
of a word.
[chars] [chars] match any character in the given
class; if the first character after
[ is ^, match any character not in
the given class; a range of charac-
ters may be specified by first -
last; for example, \W (below) is
equivalent to the class [^A-Za-z0 -
9]
\( \) ( ) parentheses are used to override
operator precedence.
\digit \digit \n matches a repeat of the text
matched earlier in the regexp by
the subexpression inside the nth
opening parenthesis.
\ \ any special character may be pre-
ceded by a backslash to match it
literally.
Now to make life much easier for archie users, a simple string
like "kermit" will match any string with the word kermit in it.
So, from archie "prog kermit" is a valid search term.
thefuzz
==========
internet/telnet #164, from rcook, 70 chars, Sat Aug 7 19:27:41 1993
Comment to 159. Comment(s).
----------
>. . .hard to sum them up in one breath.
Wildcards on steroids?
--RC
==========
internet/telnet #165, from rcarta, 325 chars, Sat Aug 7 23:48:49 1993
Comment to 163.
----------
In a not-so-special case as that, it's even better just to enter
'set search sub' before 'prog kermit'. That will search for 'kermit'
as a case-insensitive substring (if case sensitivity is desired, use
'set search subcase'). In the event that you know *precisely* what you
are looking for, you can use 'set search exact'.
algoritmi.17ratman,
Kako bi izgledao program koji izracunava vrednost matrice preko
minor-vrednosti. Taj pgm. svakako koristi rekurziju (dok ne
stigne do 1x1 matrice), ali mi nekako ne polazi za rukom da ga
napisem, jer mi rekurzivne stvari inace nekako ne polaze za
rukom.
Ako neko zna kako bi se ovo moglo uraditi, ili vec ima program
neka mi uploaduje -najbolje u Pascal-u, a moze i u Clipper-u
(doduse moze i u QBASICU -rekurzije i tu isto funkcionisu!)
Evo sta sam ja napravio (ali ne radi!)
(Naravno, i meni je samom vrlo zamlatno gledati sta nije u redu,
al' ako se ipak desi da neko primeti...)
DECLARE FUNCTION minor! (mat(), z!, y!)
OPTION BASE 1
OPEN "i", 1, "matrix3"
INPUT #1, n
DIM m(n, n)
FOR lin = 1 TO n
FOR kol = 1 TO n
INPUT #1, m(lin, kol)
NEXT kol, lin
rese = 0
PRINT minor!(m(), 1, 1)
FUNCTION minor (mat(), re, ko)
mdim = UBOUND(mat, 1) - LBOUND(mat, 1) + 1
IF mdim = 2 THEN
minor = mat(1, 1) * mat(2, 2) - mat(2, 1) * mat(1, 2)
ELSE
sum = 0
DIM newm(mdim - 1, mdim - 1)
FOR i = 1 TO mdim
REDIM newm(mdim - 1, mdim - 1)
kk = 1
FOR k = 1 TO mdim
IF k = re THEN k = k + 1
jj = 1
FOR j = 1 TO mdim - 1
IF j = 1 THEN j = j + 1
newm(k - 1, jj) = mat(k, j)
jj = jj + 1
NEXT j
kk = kk + 1
NEXT k
sum = sum + (-1) ^ (1 + i) * minor(newm(), 1, 1)
NEXT i
minor = sum
END IF
END FUNCTION
Pozdrav,
Dejan.
algoritmi.18m.hristodulo,
-> #17, ratman>> Kako bi izgledao program koji izracunava vrednost
>> matrice preko
Evo ti jedne funkcije, sa primerom, koja
izračunava vrednost determinante zadate matrice do
4x4 (školski zadatak, zato je ograničen). Malo
debilno izgleda, ali radi. Ako me ne bude mrzelo,
"ulepšaću" kod, pa ću ti baciti.
determin.zipalgoritmi.19ndragan,
-> #4, dsoskic/ p.s. radi se o tužbi koju je pokrenulo jedno fizičko lice protiv
/ banke...
E najzad nekom da pukne film. Mnogo sreće i živaca mu želim.
Elem, ja sam radio to za par banaka, i sistem je da se uzima datum
valute, tj datum kada je ček prošao kroz banku. Drugo je pitanje šta u
tom datumu piše. Imao sam primer još pre pet godina (ili kad mi je ono
poslednji put Banatska banda... banka dostavila kamatni list), da je
nekoliko čekova, koji su prema izvodu doobro kasnili, naknadno dobilo
neke realnije datume. Verovatno se radilo o tome da su proknjiženi na
zbirni konto (banke se izrazito trude da im zbirovi budu dnevno tačni),
pa tek posle rasknjižavani po partijama, te da je na izvode stigao datum
rasknjižavanja, a ne datum zbirnog knjiženja, ili neki drugi zez. Ne bih
se čudio ni da su retroaktivno propustili prepravku datuma za neke
serije čekova (kriterijumi su za gledanje u pasulj - koje čekove, kako
su znali dokle da ih vrate itd).
Princip je da se svaki put sve računa ispočetka - ako je nešto naknadno
proknjiženo, pod nekim starijim datumom, to naknadno utiče i na kamatu i
naravno obračunava se kamata prema najnovijem obračunu, skida se
prethodno obračunata kamata i iskazuje se samo razlika. Tako sam i ja
imao na svom tekućem nekakvu storno kaznenu kamatu (jedna plata je malo
zalutala).
Ono čega se ne drže sve banke je da je datum koji se pojavio na izvodu
_zakon_, tj. jednom kad ga vlasnik računa vidi odštampanog, nepromenljiv
je, osim ako vlasnik interveniše.
algoritmi.20janko,
-> #17, ratman> Kako bi izgledao program koji izracunava vrednost matrice
> preko minor-vrednosti. Taj pgm. svakako koristi rekurziju
> (dok ne stigne do 1x1 matrice), ali mi nekako ne polazi za
> rukom da ga napisem, jer mi rekurzivne stvari inace nekako
> ne polaze za rukom.
Nemoj ni da pišeš, ako ti je potrebna samo vrednost same
determinante.
Rekurzivno izračunavanje determinante je NAJSPORIJI i NAJDUčI
način koji je meni poznat. Zgodan je samo za poneko matematičko
dokazivanje, ali ne i za primenu.
algoritmi.23drassa,
Alo? Ima li koga?
Imam jedan problemčić, tačnije pitanjce...
Evo ovako:
Uz pomoć objtools i dobio sledeći rezultat OBJ fajla
kompajlirane naredbe SHELL "kvakva":
Filename : C:ĐRADNIĐOBJTOOLSĐSHELL.OBJ
Module : C:ĐRADNIĐQSOURCEĐSHELL.BAS
Language : Microsoft QuickBASIC Compiler 4.0
Library : BCOM40
Type : Sub module with starting address
Externals:
$AC
$DAC
B$CENP
b$seg
B$SSHL
Da li postoji mogućnost da se Externals i Public vide sa
pozivnim parametrima?
Ako postoji, kako?
Ako ne postoji, zašto?
Bye, Drassa
algoritmi.24drassa,
Još jedno pitanje:
Kakva je razlika u strukturi OBJ naspram LIB ?
Bye, Drassa
algoritmi.25.obj,
-> #24, drassa> Kakva je razlika u strukturi OBJ naspram LIB ?
Razlika je, sa jedne strane - mala, a sa druge strane - velika. ;)))
Naime, možda ti je poznato da .obj ;) datoteke imaju vrlo jednostavnu
strukturu: podeljene su u slogove ("records") - svaki od njih na
početku ima identifikator tipa ;) sloga, dužinu istog, CRC istog i telo
(tj. podatke) istog. Primer:
Bajtovi (hex) Komentar ;)
80 Slog tipa THEADR - zaglavlje modula
05 00 Dužina sloga - 0005h bajtova
03 41 41 41 Telo sloga. Njegova struktura zavisi od tipa sloga. Kod
THEADR, to je paskal-string - ime modula. 03 41 41 41 je
string 'AAA'.
00 CRC sloga. Nula = bez kontrole.
Sad, da vidimo pitanje - u čemu se ovakva ogranizacija razlikuje od
organizacije lib datoteke? U ničemu. ;)) Skoro. Jer, postoje i dodatni
tipovi slogova (u odnosu na obj), npr. LHEADR za zaglavlje biblioteke.
Glavna razlika je, međutim, u tabeli koja se koristi za superbrzo
pretraživanje biblioteke.
Dobar linker će neki simbol XYZ vrlo brzo naći pomoću tabele koja, BTW,
obično stoji na kraju lib datoteke (lseek offset stoji u zaglavlju
lib-a, LHEADR).
Eto. Nadam se da ti je sad malo jasnije kako izgledaje to objektne
datoteke. Vrlo prosto. A ni lib-ovi nisu ništa komplikovanije.
Ou bi džej
algoritmi.26drassa,
-> #25, .obj>> Dobar linker će neki simbol XYZ vrlo brzo naći pomoću
>> tabele koja, BTW,
Hm, da sada je malo jasnije...
Međutim, kako da .LIB ili .OBJ za koji nemam ng ili help, pregledam
i vidim da li ima nešto interesantno i primenljivo?
I kako da saznam koji parametri su potrebni za poziv nekog dela .LIB
iz mog programa?
Bye, drassa
algoritmi.27furlani,
Hi:)
Znam da ova poruka ne pribada ovoj grupi ali je procitajte
mozda neko moze da mi pomogne.
Trebaju mi scriptovi za TM . Zato sto ne znam da napravim ono
kad nazovem bbs da me pita da li hocu da se logujem na peru
ili ziku.Znaci kad se logujem dobijam pitanje:"Hocete da se
logujete na:"
"1.Peru"
"2.Ziku"
Ali pri tome ja da kucam samo za peru 1 a za ziku 2
znaci ako otkucam 1 logujem se na peru a ako otkucam 2 logujem
se na ziku.
Ako neko ne zna da mi resi ovo nek mi barem posalje neke
njegove scriptove da nekako provalim onaj help mi nicemu
nesluzi jer ga ne razumem najbolje sve je vrlo
komplikovano.Ako nekoga interesuje slican je rad kao u pascalu
(ali ja ne znam pascal) pa bi moga da proba.
Da mi nebi postavljali silna pitanja scriptovi sluze da se
lakse logujete na bbs (kratko receno).Pa barem probajte da
napravite.
Puno Pozdrava od Ceda.Hvala unapred
algoritmi.28.obj,
-> #26, drassa> I kako da saznam koji parametri su potrebni za poziv nekog dela .LIB
> iz mog programa?
Pa što ne pitaš nekoga? ;) Šalim se, od kompajlera koji sam video
jedino C++ može da ubacuje parametre u objektnu datoteku (naravno,
mislim na slučaj kada se pri kompajliranju ne generiše Debugging
Information). Za Quick BASIC ne znam.
Ukratko, u objektnu datoteku se najčešće ne ubacuju informacije o
parametrima, pa mislim da na ovaj način nećeš moći da saznaš nešto više
o funkcijama biblioteke koja te zanima. :(
Ou bi džej
algoritmi.29robert,
-> #26, drassa>> Međutim, kako da .LIB ili .OBJ za koji nemam ng ili help, pregledam
>> i vidim da li ima nešto interesantno i primenljivo?
Hm, baš mi i nije najjasnije šta ti hoćeš ali ako želiš da vidiš
šta sve ima u nekoj .LIB datoteci možeš je pozvati (ovo pričam za
Borlandov lib manager: TLIB) sa:
tlib <ime.lib> , <ime list datoteke>
pa će ti ta list datoteka sadržati sve simbole i njihove veličine po
modulima koji se sadrže u .LIB fajlu. Recimo:
tlib mathl.lib , math
generiše math.lst datoteku. Probaj pa vidi jeli to ono što tebi treba.
algoritmi.30zsiz,
Dali je neko izračunao nove koeficijente i limite za
proračun plate? Na osnovu Službenog lista, izračunao
sam (a nisam siguran da sam dobro izračunao):
NETO BRUTO
<=7,833,766,000 NETO*1.923077
7,833,766< <=60,862,338,000 (NETO-3,012,987,000)*3.125
>60,862,338,000 (NETO-12,051,948,000)*3.703704
Ovo gore je za S=23% (stopa doprinosa za rad)
Pozdrav.
algoritmi.31rpausic,
-> #30, zsizŠaljem ti f-ju u clipper-u. Nemam vremena za više objašnjenja.
Valjda ćeš se snaći.
net_brut.prgalgoritmi.32dr.grba,
Verovatno ste primetili da je nastala prilična gužva zbog odluke SPPFN
da izvrši dopunu svakog žiro računa dodatnim kontrolnim brojem.
U tusvrhu sam doživeo najtraumatičnije iskustvo u životu u radu sa
Službenim listovima. Sve u svemu, SPP šalje korisnicima obaveštenje
u kome objavljuje kontrolni broj i novi izgled žiro računa. Poziv
na referencu je SLužbeni list SR Jugoslavije 24/93.
Postoji i dopuna/izmena u Sl. listu SRJ 57/93. čiji naslov je
"UPUTSTVO o izmenama i dopunama uputstva o obliku, sadržini i upotrebi
instrumenata platnog prometa za plaćanja u zemlji", strana 1157.
Ne trudite se da pronađete ovo. Toliko je nerazumljivo da nisam ni
uz pomoć okorelog čitaoca Sl. listova (moja matora) uspeo da raskukuljim.
Evo algoritma po kome će svako od vas moći da smlati programče, i na kraju
da ručno izvede kontrolni broj žiro računa :
čiro račun najpre treba proširiti na formu od striktno 18 cifara, i to
tako da se broj partije (desni broj) popuni levim krompirima.
primer : 65500-601-2986 ---> 65500-601-0000002986
Sada se dobijeni broj ponderiše brojevima 2, 3, 4, ....., 18, 19
ZDESNA ULEVO.
6 5 5 0 0 6 0 1 0 0 0 0 0 0 2 9 8 6
* * * * * * * * * * * * * * * * * *
19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2
-----------------------------------------------------------------------
114+ 90+ 85+ 0+ 0+ 84+ 0+ 12+ 0+ 0+ 0+ 0+ 0+ 0+ 10+ 36+ 24+ 12 = 467
Dobijeni zbir pondera (467) se celobrojno deli sa 11 i lokalizuje
se ostatak :
467 : 11 = 42, ostatak 5
Ostatak se oduzima od 11:
11 - 5 = 6
i dobijeni broj je kontrolni broj. Ukoliko je dobijeni broj 10 ili 11, za
kontrolni broj se usvaja broj 0.
Ovaj algoritam, koji je daleko jednostavniji nego što je to napisano u
SL.L.SRJ, sam na mišiće izbunario od nekih prijatelja u banci. Nadam se
da će moj trud oko pisanja ove poruke nekome biti na korist.
algoritmi.33dr.grba,
-> #32, dr.grba>> primer : 65500-601-2986 ---> 65500-601-0000002986
...
>> 11 - 5 = 6
>>
>> i dobijeni broj je kontrolni broj. Ukoliko je dobijeni broj 10 ili
>> 11, za kontrolni broj se usvaja broj 0.
Izmena - dopuna :
Dobijeni kontrolni broj se u žiro račun dodaje između drugog i trećeg
broja, dakle
65500-601-2986 ----> 65500-601-6-2986
Izvinjavam se zbog ove omaške u 1.32.
algoritmi.35nbulatovic,
▀skinuo sam neke fajlove sa EZ-INFO-a pa evo jednog; recite da li vas
interesuje pa da saljem jos (ima jedno 2mb slicnih)
ovo je inace program za neuronske mreze koji je pisao neki
programer iz nase. sve je toliko dokumentovano da ce vas zbuniti!
nasanets.zipalgoritmi.36snemcev,
-> #32, dr.grba>> Verovatno ste primetili da je nastala prilična gužva zbog odluke
>> SPPFN da izvrši dopunu svakog žiro računa dodatnim kontrolnim brojem.
Još da napomenem da su samo "normalni" žiro računi dobili kontrolni
broj. Porezi i ostali računi koji su već imali četiri grupe cifara u
broju računa nisu dirani.
algoritmi.37snemcev,
-> #35, nbulatovic>> ▀skinuo sam neke fajlove sa EZ-INFO-a pa evo jednog; recite da li vas
Ajd baci u KOM:jupak broj EZ Info-a. Bio bih jako zainteresovan da ga
nazovem.
algoritmi.38dejanr,
-> #32, dr.grba>> čiro račun najpre treba proširiti na formu od striktno 18 cifara, i to
>> tako da se broj partije (desni broj) popuni levim krompirima.
Hvala na interesantnoj poruci - ja sam i sam "dešifrovao" ovaj checksum,
i to po analogiji po kontrolnom broju koji se dodavao na broj fakture i
koji se računa na identičan način. Međutim, ovo dopunjavanje nulama je
zanimljiva pojava - polje žiro-računa je, za firme, do sada dimenzionisano
na 15 znakova, ovo je novitet da se ide na 18! Sa druge strane, ni 18
cifara nije dovoljno da se upisuju žiro računi privatnih lica, zanatskih
radnji, agencija itd. Kako li će tu biti sa checksum-om i da li će ga
uopšte biti?
algoritmi.39dr.grba,
-> #38, dejanr>> na 15 znakova, ovo je novitet da se ide na 18! Sa druge strane, ni
>> 18 cifara nije dovoljno da se upisuju žiro računi privatnih lica,
>> zanatskih radnji, agencija itd. Kako li će tu biti sa checksum-om i
>> da li će ga uopšte biti?
Mislim da je tolika zbunologija u pitanju, da stvarno više nema smisla.
Te ovakav, te onakav ponder, te sleva, te zdesna. Pa fondovi koji već
imaju četiri javne grupe nemaju potrebu za kontrolnom cifrom, pa trte-mrte...
A znate li kako je dosad izgledao kontrolni broj individualne partije?
Posmatrajte samo poslednji broj žiro računa :
65500-601-2986
Cifra 6 u 2986 je kontrolna cifra. Dobijena je na sledeći način:
298 popuniti levim krompirima do šest cifara : 000298
Dobijeni broj ponderisati brojevima od 0 do 5 SLEVA NADESNO i zbir
provući kroz modul 11 po poznatom obrascu:
0 0 0 2 9 8
* * * * * *
0 1 2 3 4 5
----------------------
0+ 0+ 0+ 6+ 36+ 40 = 82 82 : 11 = 7, ostatak 5.
11 - 5 = 6, i to je kontrolni broj. I sad je ceo broj partije 2986.
Brojevi kod kojih je dobijen rezultat 11 imaju kontrolni broj nula,
a brojevi kod kojih je dobijen rezultat 10 ne mogu se upotrebiti kao
broj individualne partije.
...I tako suzbismo liticu...
Za kraj ove priče, ako baš hoćete da ugradite totalnu kontrolu žiro
računau svoje programe, osim algoritama koje sam dosad opisao, preostaje
i poređenje operativnog broja službe (prvi broj žiro računa) i naziva
filijale/ekspoziture/poslovnice SPPFN, kao i šifre opštine (skriveni broj,
piše se samo interno) sa tabelom objavljenom u Sl. listu SRJ 24/93, strane
481-484. Postoji i oznaka vrste žiro računa (ili kako se već zove), drugi
vidljivi broj (601, 678, 605......) za koje ne znam referencu, ali znam samo
da je objavljeno u nekom Službenom listu u toku 1993.
Što se tiče broja opštine, on se proširuje tek unutar transakcija SPPFN.
Za Kikindu je to broj 215, pa puni žiro račun moje firme potreban za
finansijsku transakciju sad glasi : 65500-215-601-6-2986. Postoje još
neke oznake, ali tu već zalazim u domen koji ne poznajem dobro. Možda
neko zna, pa neka me dopuni, e da dođemo do kompletne priče.
algoritmi.40dejanr,
Što se tiče broja žiro računa građana i kontrolnih cifara, stvar izgleda (bar
kod Beobanke) stoji ovako: kontrolni broj se pravi samo za sam račun od
Beobanke, dakle ono 60811-620-16. Po pravilima koja su ovde opisana, kontrolni
broj je 1, dakle čitav broj postaje 60811-620-1-16. Ono iza toga, što je žiro
račun čoveka u okviru banke, nema kontrolni broj, i prosto se nadodaje na ovo,
dakle broj nekog računa privatnog lica (51) u ekspozituri 353 (to je ona kod
Londona) mogao bi da bude 60811-620-1-16-51-353-5555555.
E sad, još ostaje pitanje da i ovaj drugi deo nema svoj checksum, tj. da recimo
ono zadnje 5 u 51-353-5555555 nije nekakav checksum.
algoritmi.41snemcev,
-> #40, dejanr>> E sad, još ostaje pitanje da i ovaj drugi deo nema svoj checksum, tj.
>> da recimo ono zadnje 5 u 51-353-5555555 nije nekakav checksum.
Za Beobanku ne znam, ali Vojvođanska banka sigurno nema checksum. Sa
druge strane, Jugobanka i Investbanka ih imaju i na brojevima tekućih
računa, pa zašto ih nebi bilo i na brojevima žiro računa.
algoritmi.42dr.grba,
-> #40, dejanr>> Beobanke, dakle ono 60811-620-16. Po pravilima koja su ovde
>> opisana, kontrolni broj je 1, dakle čitav broj postaje
>> 60811-620-1-16. Ono iza toga, što je žiro
Potvrđeno je kao tačno.
>> E sad, još ostaje pitanje da i ovaj drugi deo nema svoj checksum,
>> tj. da recimo ono zadnje 5 u 51-353-5555555 nije nekakav checksum.
E, pa trebalo bi da jeste, ali ne znam po kom ključu.
algoritmi.43snemcev,
-> #40, dejanr>> E sad, još ostaje pitanje da i ovaj drugi deo nema svoj checksum, tj.
>> da recimo ono zadnje 5 u 51-353-5555555 nije nekakav checksum.
Za Beobanku ne znam, ali Vojvođanska banka sigurno nema checksum. Sa
druge strane, Jugobanka i Investbanka ih imaju i na brojevima tekućih
računa, pa zašto ih nebi bilo i na brojevima žiro računa.
algoritmi.44oduz,
-> #35, nbulatovic>**> ovo je inace program za neuronske mreze koji je pisao neki
>**> programer iz nase. sve je toliko dokumentovano da ce vas
>**> zbuniti!
Ovo je iz readme fajla iz nasanets.zip:
"...format. Finally, note that NETS comes with a complete User's Guide
to help you get started with neural network technology..."
Moje pitanje je:
Where is the User's guide ? :)
Ogi
algoritmi.45slom,
Kako se obicno resava sledeci problem ?
Imam na ekranu jedan prozorcic u kome se nalazi neki tekst.
Tekst treba pomocu strelica,PgUp,PgDn,Home i End tastera pomerati,
skrolovati levo-desno, gore-dole, slicno kao u editoru.
Dakle, kako na brz i jednostavan nacin realizovati skrolovanje ?
sm
algoritmi.46vitez.koja,
-> #45, slom#=> Dakle, kako na brz i jednostavan nacin realizovati
#=> skrolovanje ?
Za skrolovanje gore-dole imaš dovoljno brze bios funkcije. Ako ti treba i
pomeranje levo-desno, onda je bolje da sam napišeš funkcije koje će baratati
direktno sa video memorijom.
algoritmi.47peca.st,
-> #45, slom!-> Dakle, kako na brz i jednostavan nacin
!-> realizovati skrolovanje ?
Pucaš direktno u video memoriju.
(recimo da si je predstavio matricom 80*25 od po dva bajta)
Na primer, ako hoćeš da pomeriš dole, onda
u jednoj for petlji j+1 nizu dodeliš j niz, a na
početak (prvi red prozora) ubaciš string koji se do
tada nije video. (njega čitaš iz, recimo, liste)
Slično je i za levo, i za gore, i za desno...
Peđa.
algoritmi.48janko,
-> #45, slom> Kako se obicno resava sledeci problem ?
>
> Imam na ekranu jedan prozorcic u kome se nalazi neki
> tekst. Tekst treba pomocu strelica,PgUp,PgDn,Home i End
> tastera pomerati, skrolovati levo-desno, gore-dole, slicno
> kao u editoru.
>
> Dakle, kako na brz i jednostavan nacin realizovati
> skrolovanje ?
Na pravim operativnim sistemima, i pravom hardveru, pozivom
rutine operativnog sistema.
Ako je reč o tekst modu, na MS DOS-u postoji BIOS rutina koja
ume da skroluje tekst (ako se sećam, i manji deo ekrana).
Lično, na pisiju ne bih, kada bih pisao program koji treba da
bude brz, čak, ni koristio skrolovanje već ponovni ispis
promenjenog sadržaja! Zašto? Jer je brzina video memorije, osim
na VL pločama, daleko manja od memorije. Skrol troši za svako
slovo po dva pristupa sporoj memoriji, a ponovni ispis samo po
jedan. Razlika je ogromna.
algoritmi.49zolika,
Molio bih nekoga ko bi mogao da mi pomogne, da mi navede neki
algoritam koji transformiše lozinku zadatu kao ASCII tekst u nekoliko brojeva
(tj. bajtova). Transformacija bi, po mogućnosti, trebalo da dâ bar 4-bajtni
rezultat. Ne bih objašnjavao za šta mi je ovo potrebno, mislim da će se mnogi
dosetiti i sami... :-))))))
algoritmi.50nbulatovic,
-> #44, oduz> Ovo je iz readme fajla iz nasanets.zip:
>
> "...format. Finally, note that NETS comes with a complete
> User's Guide to help you get started with neural network
> technology..."
>
> Moje pitanje je:
>
> Where is the User's guide ? :)
ne treba ti user's gide; samo pogledaj fajl PROP.C i razumeces
kako radi.
algoritmi.51peca.st,
-> #49, zolika!-> Transformacija bi, po
!-> mogućnosti, trebalo da dâ bar 4-bajtni
!-> rezultat. Ne bih objašnjavao za šta mi je
!-> ovo potrebno, mislim da će se mnogi
!-> dosetiti i sami... :-))))))
4 bajta = 32 bita
Sve mi ovo smrdi na CRC-32 i tvoj BBS. ;)
Imaš u knjizi PC Modemske komunikacije detaljno opisan CRC
algoritam, iz njega se sve jasno vidi...
Peđa.
algoritmi.52robert,
-> #51, peca.st>> Sve mi ovo smrdi na CRC-32 i tvoj BBS. ;)
>> Imaš u knjizi PC Modemske komunikacije detaljno opisan CRC
Ali Zoliki treba verovatno jednosmeran aloritam kao na UNIX-u a to
bih voleo i ja da vidim. To je prilično korisna stvarčica :).
Znači algoritam koji kodira neki alfanumerički niz u neki drugi
alfanumerički niz fiksne dužine a da pri tome transformacija postoji
samo u smeru kodiranja ali ne i dekodiranja. Dakle potrebna je neka
funkcija koja nema inverznu funkciju ako sam u pravu :).
algoritmi.53dr.grba,
-> #49, zolika>> Molio bih nekoga ko bi mogao da mi pomogne, da mi navede neki
>> algoritam koji transformiše lozinku zadatu kao ASCII tekst u
>> nekoliko brojeva (tj. bajtova). Transformacija bi, po mogućnosti,
>> trebalo da dâ bar 4-bajtni
Nešto vrlo jednostavno za implementaciju, a simpatično i primenljivo je
napravio moj mladi koleza snemcev, a to je transformacija stringa u broj
koji se dobija kao zbir funkcije svakog sloa lozinke, a to je ASCII vrednost
puta broj mesta slova u stringu, dakle:
broj("dr.grba") = asc("d")*1 + asc("r")*2 + asc(".")*3 + asc("g")*4 +
asc("r")*5 + asc("b")*6 + asc("a")*7 =
= 100*1 + 114*2 + 46*3 + 103*4 + 114*5 + 98*6 + 97*7 =
= 100 + 228 + 138 + 412 + 570 + 588 + 679 = 2715
E, sad, ako neko provali da u lozinki 2715 piše "dr.grba", onda nazdravlje.
Za belosvetsku upotrebu ne dovoljno, nego sasvim dovoljno. A jednostavno za
ugradnju u CFG fajlove (;
algoritmi.54a.kircanski,
-> #53, dr.grba_-=> broj("dr.grba") = asc("d")*1 + asc("r")*2 + asc(".")*3 +
_-=> asc("g")*4 + asc("r")*5 + asc("b")*6 + asc("a")*7 =
_-=> = 100*1 + 114*2 + 46*3 + 103*4 + 114*5 + 98*6 + 97*7 =
_-=> = 100 + 228 + 138 + 412 + 570 + 588 + 679 = 2715
hmmm, thanks, ovo dugo tražim :-)
algoritmi.55peca.st,
-> #52, robert!-> Dakle potrebna je neka
!-> funkcija koja nema inverznu funkciju ako
!-> sam u pravu :).
Pa CRC nema inverznu funkciju!
To je baš ono što tebi (i njemu) treba.
Peđa.
algoritmi.56kale,
-> #53, dr.grba
>> Nešto vrlo jednostavno za implementaciju, a simpatično i primenljivo je
>> napravio moj mladi koleza snemcev, a to je transformacija stringa u broj
>> koji se dobija kao zbir funkcije svakog sloa lozinke, a to je ASCII vrednost
>> puta broj mesta slova u stringu, dakle:
Jednostavno jeste, ali ne odgovara za šifrovanje lozinki. Jeste da se
iz onog broja ne može rekonstruisati "dr.grba", ali je izuzetno lako naći
(čak i bez računara!) neki ASCII string koji će da da isti rezultat. Smisao
tražene funkcije je da onome ko dođe u priliku da pročita njene rezultate
bude *jako* teško da ih upotrebi za generisanje password-a koji će "da prođe".
>> Za belosvetsku upotrebu ne dovoljno, nego sasvim dovoljno.
Ni blizu!
Pozdrav!
algoritmi.57mjova,
-> #52, robert> Ali Zoliki treba verovatno jednosmeran aloritam kao na
> UNIX-u a to bih voleo i ja da vidim. To je prilično
> korisna stvarčica :).
CRC nije potrebno raditi za tako kratke reči. najbolji predlog je da
pogledate po 'mojoj školi C-a' tamo je zz dao primer jednostavne
zavrzlame jednog smera.
algoritmi.58dr.grba,
-> #54, a.kircanski>> _-=> = 100 + 228 + 138 + 412 + 570 + 588 + 679 = 2715
>>
>> hmmm, thanks, ovo dugo tražim :-)
Zahvaliti autoru algoritma, snemcevu.
algoritmi.59dr.grba,
-> #56, kale>> Jednostavno jeste, ali ne odgovara za šifrovanje lozinki. Jeste da
>> se iz onog broja ne može rekonstruisati "dr.grba", ali je izuzetno
>> lako naći (čak i bez računara!) neki ASCII string koji će da da
>> isti rezultat. Smisao
Slažem se da je algoritam rudimentaran, i ja ga svakako ne bih upotrebljavao
da kriptujem nešto što interesuje neku stranu obaveštajnu službu (al' sad
se**m, k'o da ja baratam takvim stvarima (: )...
...ali zar nisi razmišljao o mogućnosti zapetljavanja algoritma,
a njega da NE objavljuješ. Šta misliš, kako sam došao do
password("dr.grba") = 110704 ili password("SeZaM") = 90567 ?
Naravno, lupao sam bez veze, ne traži ključ, samo da ti ilustrujem
šta se sve može. Normalna je stvar da shodno nivou i potrebi zaštite
sledi i prikladno projektovanje iste. Daleko je ta problematika odmakla
od proste funkcijice smišljene za tri minuta. U kojoj poruci pre, spomenut
je CRC algoritam kao jedna od tekovina istraživanja u ovoj oblasti...
algoritmi.60prvul,
-> #59, dr.grbaŮ...ali zar nisi razmišljao o mogućnosti zapetljavanja algoritma,
Ůa njega da NE objavljuješ. Šta misliš, kako sam došao do
Ůpassword("dr.grba") = 110704 ili password("SeZaM") = 90567 ?
Ů▄▄
Pa ako neko uspe da pročita te snimljene brojeve, nije zgoreg
pretpostaviti da će doći i do kopije programa. A onda treba par
desetina minuta dibagovanja i eto algoritma.
Ukratko, pouzdan algoritam mora ostati pouzdan čak i ako je
poznat onome ko provaljuje šifru.
algoritmi.61salex,
-> #60, prvul
Kako Beobanka racuna kamate na dug po tekucem racunu ?
Predpostavljam da je u pitanju jedan od dva obrasca koja prilazem .
Mesecna kamatna stopa STOPA ( 400%)
Iznos duga DUG
Broj dana do izmirenja duga DANI
Algoritam 1.
KAMATA = DUG * ( STOPA / 30 * DANI )
Proporcionalno broju dana .
Algoritam 2.
KAMATA = DUG * ( EXP( LN( 1 + STOPA ) / 30 ) ^ DANI - 1 )
Izracunavanjem dnevne stope , pa kamatom na kamatu za dane .
Salex
algoritmi.62niklaus,
-> #56, kale(:> Jednostavno jeste, ali ne odgovara za šifrovanje lozinki.
(:> Jeste da se iz onog broja ne može rekonstruisati "dr.grba",
(:> ali je izuzetno lako naći (čak i bez računara!) neki ASCII
(:> string koji će da da isti rezultat. Smisao
Ma grba je (valjda) dao samo (naivnu) ilustraciju.
Upravo je fora da se zolika sam namuči (more tu uopšte nema muke),
i da niko drugi ne zna algoritam...
Ovo me podseća na algoritme, koje koriste simulatori realnih
(prirodnih) procesa, tipa neke igre (fudbal menadžeri)...
(:niklaus:)
algoritmi.63d.petrovic,
-> #56, kaleĂ>>> Za belosvetsku upotrebu ne dovoljno, nego sasvim dovoljno.
Ă>
Ă> Ni blizu!
Dovoljno, samo malo izmeni funkciju da bi bila unikat, tj. sad je
lako generisati password, ali ne mozes generisati password za moju
slicnu funkciju.
algoritmi.64d.petrovic,
-> #60, prvulĂ> Pa ako neko uspe da pročita te snimljene brojeve, nije zgoreg
Ă> pretpostaviti da će doći i do kopije programa. A onda treba par
Ă> desetina minuta dibagovanja i eto algoritma.
Koliko pari desetina? Pre će naći proveru password-a pa je isključiti
nego što će naći algoritam, ali kad se to uvrne 2-3 puta može manijak
i da odustane. Osim toga da raspravljamo o apsolutnoj zaštiti ili da
se odmah složimo da je nemoguća.
algoritmi.65ndragan,
-> #56, kale/ Jednostavno jeste, ali ne odgovara za šifrovanje lozinki. Jeste da se
A onda se stvar malo zakomplikuje nekom elementarnom operacijom nad
bajtom pre množenja, naprimer umesto asc("r")*6, ubaci se
shr(asc("r")),mod(6,16))*6, gde umesto "r" i 6 dođu odgovarajuće
vrednosti iz stringa. Ne usporava previše, a dovoljno ga komplikuje.
Umesto shr, može shl, rl (ovo je iz Z80, ne znam kako izgleda na 8*86),
xor ili čak minus.
Imam jedno pravilo: sistem treba da je dovoljno zamumuljen da obeshrabri
diletante i umereno bistre hakere, a ko ga razbije, dobrodošao za
saradnika.
algoritmi.66bojt,
-> #61, salex>> Algoritam 2.
>> KAMATA = DUG * ( EXP( LN( 1 + STOPA ) / 30 ) ^ DANI - 1 )
Da nije KAMATA = DUG*( (1+STOPA/100)^(DANI/30) - 1 ) ???
BTW, zna li ko posle kog nedozvoljenog minusa se blokira
t.račun?
algoritmi.67janko,
-> #65, ndragan> A onda se stvar malo zakomplikuje nekom elementarnom
> operacijom nad bajtom pre množenja, naprimer umesto
> asc("r")*6, ubaci se shr(asc("r")),mod(6,16))*6, gde
> umesto "r" i 6 dođu odgovarajuće vrednosti iz stringa. Ne
> usporava previše, a dovoljno ga komplikuje.
Ech, NDragane i DPetroviću.
Nije dovoljno (čak, ni poželjno!) zamumuljivati tako napamet,
jer to ne daje dobre rezultate. Cilj algoritma je da broj
pokušaja za provaljivanje (ako neko ne zna šifru, naravno) bude
što veći. Ovo sve, pri ovakvim transformacija, zadire u teoriju
grupa, i "prostor" po kome se razbacuju predstavnici šifara.
Cilj je da predstavnici šifara budu ravnomerno razbacani po
prostoru, i da je prostor dovoljno velik, da postane iluzorno
"peške probati."
Ukratko, ako neko hoće da radi tako nešto, od srca mu savetujem
da malo čita literaturu. Npr. Knuta.
algoritmi.69snemcev,
-> #61, salex>> Kako Beobanka racuna kamate na dug po tekucem racunu ?
>> KAMATA = DUG * ( EXP( LN( 1 + STOPA ) / 30 ) ^ DANI - 1 )
>> Izracunavanjem dnevne stope , pa kamatom na kamatu za dane .
Ne znam za Beobanku, ali Jugobanka koristi ovaj drugi.
algoritmi.68snemcev,
-> #58, dr.grba>>>> _-=> = 100 + 228 + 138 + 412 + 570 + 588 + 679 = 2715
>>>> hmmm, thanks, ovo dugo tražim :-)
>> Zahvaliti autoru algoritma, snemcevu.
Nisam siguran da nisam izmislio toplu vodu. Ovo koristim negde od '89. i
zasad je bilo sasvim dovoljno da otera one koji bi da čačkaju po programu.
algoritmi.70dr.grba,
-> #60, prvul>> Pa ako neko uspe da pročita te snimljene brojeve, nije zgoreg
>> pretpostaviti da će doći i do kopije programa. A onda treba par
>> desetina minuta dibagovanja i eto algoritma.
Evo, pokušaj da se proslaviš i razbij ovu lozinku. Korišćen je tačno
onaj opisani algoritam iz moje poruke.
logon.exealgoritmi.71zolika,
-> #51, peca.st>> Imaš u knjizi PC Modemske komunikacije detaljno opisan CRC
Da, ali nemam knjigu :-(((((
algoritmi.72zolika,
-> #52, robert>> Ali Zoliki treba verovatno jednosmeran aloritam kao na UNIX-u a to
>> bih voleo i ja da vidim. To je prilično korisna stvarčica :).
Tačno. Kao na UNIXu. Ili na VMSu. Ili na SEZAMu. Ili na bilo kojem
sistemu kome se pristupa pomoću lozinke.
algoritmi.73dejanr,
-> #52, robert>> Ali Zoliki treba verovatno jednosmeran aloritam kao na UNIX-u a to
>> bih voleo i ja da vidim. To je prilično korisna stvarčica :).
Mislim da ćemo najlakše to naći ako neko izvadi odgovarajući deo koda
iz source-a za neki PD Unix. Valjda je "dovučeno" par takvih, pa šteta
da trunu. Trebalo bi da je taj deo koda razmerno lako naći.
Ja danas gledao ima li u nekom od manuela VMS-a koji se polinom tačno
koristi, sve mi se nešto činilo da sam to nekada video. Ali ne nađoh :(
algoritmi.74kale,
-> #59, dr.grba
>> ...ali zar nisi razmišljao o mogućnosti zapetljavanja algoritma,
>> a njega da NE objavljuješ.
Smisao transformacije password-a u neki broj je da ne postoji jednostavna
inverzna transformacija čak i ako je algoritam kodiranja poznat "provalniku".
Ovo je osnovna stvar. Nije ideja sakriti algoritam kodiranja, već učiniti
njegovo poznavanje nekorisnim. Ti računaš na tajnost tvog algoritma kodiranja
što ne odgovara polaznoj pretpostavci, a i u praksi se nije pokazalo kao
dobra _osnovna_ zaštita.
algoritmi.75kale,
-> #62, niklaus
>> Ma grba je (valjda) dao samo (naivnu) ilustraciju.
>> Upravo je fora da se zolika sam namuči (more tu uopšte nema muke),
>> i da niko drugi ne zna algoritam...
žovek je tražio savet, i dobio loš savet. Sad ti kažeš da savetodavac
nije hteo da mu kaže rešenje nego da ga inspiriše. Pošto nije sasvim
očigledno da je savet loš (a jeste loš), neki ljudi mogu da poveruju da je
dobar i da ga koriste ubeđeni u njegovu pouzdanost. Nije nam cilj da neko
nauči nešto loše, a možda i da pretrpi štetu zbog neznanja, zar ne?
algoritmi.76kale,
-> #70, dr.grba
>> Evo, pokušaj da se proslaviš i razbij ovu lozinku. Korišćen je tačno
>> onaj opisani algoritam iz moje poruke.
Gde je lozinka?
odgovor i na 1.63 d.petrovic
>> Dovoljno, samo malo izmeni funkciju da bi bila unikat, tj. sad je
>> lako generisati password, ali ne mozes generisati password za moju
>> slicnu funkciju.
Tvoj logon.exe samo pišti, a ne daje broj na izlazu. Ajde napravi
(ne bilo ti zapoveđeno) verziju koja umesto pištanja ispiše broj koji je
rezultat transformacije. Poželjno je da program nekad prestane da se
izvršava da bi moj program mogao da ga pozove (da ne moram da kucam). Nemoj
da mi postavljaš domaći tipa "otkrij algoritam" jer to nije ono što je
traženo. Zadrži se na linearnoj transformaciji k1*z1+k2*z2+... (gde su k-ovi
koeficijenti a z-ovi ASCII kodovi password-a). Zauzvrat, ja ću tebi da
pošaljem sors programa koji će to da razbije "in no time". Naravno, zadaj i
neki broj za koji treba naći password koji će da prođe.
Pozdrav, Kale
algoritmi.77kale,
-> #68, snemcev
>> Nisam siguran da nisam izmislio toplu vodu. Ovo koristim negde od '89. i
>> zasad je bilo sasvim dovoljno da otera one koji bi da čačkaju po programu.
A ko su bili ti što bi čačkali po programu (korisnici, programeri,
hakeri)? Primeti samo jednu "sitnicu" u tvom algoritmu:
Neka lozinka ima najviše 8 znakova (malih i velikih slova i cifara).
Broj lozinki je 62^8 što je preko 2 E 14. Broj koji je rezultat
transformacije je >= 36 * asc("0") = 1728 i <= 36 * asc("z") = 4392. Pošto
neke vrednosti između ova dve ekstremne vrednosti ne mogu da se dobiju, to je
broj različitih rezultata manji od 2664. Ovako mali broj mogućnosti čini ti
algoritam ranjivim čak i na nasumično probanje.
Pozdrav, Kale
algoritmi.78snemcev,
-> #70, dr.grba>> Evo, pokušaj da se proslaviš i razbij ovu lozinku. Korišćen je tačno
>> onaj opisani algoritam iz moje poruke.
Izbi mi argument iz ruke. ;) A baš sam ovo hteo da pošaljem.
algoritmi.79peca.st,
-> #65, ndragan!-> Imam jedno pravilo: sistem treba da je
!-> dovoljno zamumuljen da obeshrabri
!-> diletante i umereno bistre hakere, a ko
!-> ga razbije, dobrodošao za saradnika.
a) Izgleda da mnogi ovde nisu dobro shvatili šta je zolika hteo.
b) Izgleda da ja nisam dobro shvatio šta je zolika hteo.
If a) Then
Zolika je pomenuo da mu treba nešto što će od LOZINKE (koja ima
recimo n karaktera) napraviti 4bajtni "otisak". To znači, da kad
neko unese lozinku, ona prolazi kroz isti taj algoritam, tako dobijeni
otisak se proverava sa originalnim (koji je verovatno na disku) i ako
je provera prošla Ok, korisnik lozinke se pušta dalje. Svi ovde pomenuti
algoritmi (osim CRCa) imaju suviše veliki propusni opseg. Recimo, onaj
algoritam što je poslao dr.grba daje istu vrednost za "dr.grba" i za
"fs.grba" (napamet sam računao, nadam se da sam pogodio). Procenat
takvih mogućnosti je ogroman, zato takvi algoritmi nisu pogodni za ovu
situaciju. (za neke druge jesu)
Else Izvinjavam se.
Peđa.
algoritmi.80dr.grba,
-> #68, snemcev>> Nisam siguran da nisam izmislio toplu vodu. Ovo koristim negde od
>> '89. i zasad je bilo sasvim dovoljno da otera one koji bi da
>> čačkaju po programu.
'Ajde onda, objasni nevernim Tomama koliki je efekat ovakvih kriptova.
algoritmi.81snemcev,
-> #76, kale>> Tvoj logon.exe samo pišti, a ne daje broj na izlazu.
žini mi se da je taj logon.exe dovoljno blizu realne situacije. Takva
provera se recimo nalazi na ulazu u program. Ti nemaš pojma koji je broj
rezultat koje ulazne lozinke, a treba da provališ u sistem.
>> Naravno, zadaj i neki broj za koji treba naći password koji će da
>> prođe.
Kad se zna broj, nije problem. Problem je što (zasad) ne znaš broj.
algoritmi.82snemcev,
-> #77, kale>> Ovako mali broj mogućnosti čini ti algoritam ranjivim čak i na
>> nasumično probanje.
Nisam rekao da sam pronašao Ameriku i sasvim sam svestan nedostataka
ovog algoritma, ali je vrlo jednostavan za implementaciju. Prednost je
što se ne zna ni dužina lozinke, ni tačna transformacija, a ni broj koji
je rezultat transformacije za pojedine lozinke.
Btw, voleo bih da neko nađe lozinku za onaj logon.exe pa da nastavimo
diskusiju sa nečim konkretnim u rukama.
algoritmi.83nkbog,
-> #70, dr.grba> Evo, pokušaj da se proslaviš i razbij ovu lozinku. Korišćen je tačno
> onaj opisani algoritam iz moje poruke.
Provaljuju:
CBAN
EAAN
BABN
BBTA
PELA
MEMA
DRBE
i sve one koje zadovoljavaju:
1*K1+2*K2+3*K3+4*K4 = 706 (2C2h), gde su K1 do K4 ASCII kodovi slova (važe
velika slova).
NB.
p.s. Program je bio PKLITE-ovan, pisan u nekakvom Borlandovom paketu (paskalu?)
p.p.s. Nešto posle 12h sam završio poziv Sezama, u 12:40 pišem ovu poruku,
ukupno vreme do nalaženja prve lozinke je ispod pola sata (nisam imao digitron
pri ruci, inače bi bilo brže) već sam nažvrljao program u QBasicu koji brute-
force nalazi sve lozinke... toliko o sigurnosti ovakve zaštite ;)... Za svaku
vrednost preko 5 DM u ovoj zemlji je ovakva zaštita slaba...
algoritmi.84a.kircanski,
-> #73, dejanr_-=> iz source-a za neki PD Unix. Valjda je "dovučeno" par
_-=> takvih, pa šteta
Hm, gde ima da se nađe taj PD unix?
algoritmi.86niklaus,
-> #79, peca.st(:> a) Izgleda da mnogi ovde nisu dobro shvatili šta je zolika hteo.
(:> b) Izgleda da ja nisam dobro shvatio šta je zolika hteo.
(:> If a) Then
(:> Else Izvinjavam se.
begin
If ( a) and b) ) then
reci_peci(' dr.grba je dao samo ilustrativan primer.');
exit(0); š Dosta o CRCovima, please (; ć
end.
(:niklaus:)
algoritmi.85niklaus,
-> #75, kale(:>>> Ma grba je (valjda) dao samo (naivnu) ilustraciju.
(:>>> Upravo je fora da se zolika sam namuči (more tu uopšte nema
(:>>> muke), i da niko drugi ne zna algoritam...
(:>
(:> žovek je tražio savet, i dobio loš savet. Sad ti kažeš da
(:> savetodavac nije hteo da mu kaže rešenje nego da ga
(:> inspiriše. Pošto nije sasvim očigledno da je savet loš (a
(:> jeste loš), neki ljudi mogu da poveruju da je dobar i da ga
(:> koriste ubeđeni u njegovu pouzdanost. Nije nam cilj da neko
(:> nauči nešto loše, a možda i da pretrpi štetu zbog neznanja,
(:> zar ne?
Stvar je sledeća... Ljudi od kojih će se, u jednom trenutku njihovog
srećnog programerskog života, tražiti da naprave algoritam za sigurno čuvanje
šifara, bi trebalo da su dovoljno inteligentni da pronađu dovoljno siguran
algoritam, ili da su jednostavno u stanju da od ponuđenih algoritama, nađu
onaj sa najmanjom verovatnoćom za "provalu".
(:niklaus:)
algoritmi.87peca.st,
-> #82, snemcev!-> Btw, voleo bih da neko nađe lozinku za
!-> onaj logon.exe pa da nastavimo diskusiju
!-> sa nečim konkretnim u rukama.
Ako je u logon.exe korišćen onaj algoritam, moraš nam dati
koji je broj zapamćen, to jest za koji broj da tražimo šifru.
Jer, cilj je bio da se iz otiska ne može naći šifra koja će
dati takav otisak!
Peđa.
algoritmi.88peca.st,
-> #81, snemcev!-> Kad se zna broj, nije problem. Problem je
!-> što (zasad) ne znaš broj.
Kad se zna broj dobijen posle CRC algoritma, opet je problem
(i to praktično iste težine kao da ne znaš taj broj).
Ovako kako ti kažeš, bilo ko ko pristupi disku BBSa (jer ovde
pre svega o tome govorimo) svejedno mu je dal će naći fajl sa
originalnim šiframa ili fajl sa otiscima šifara. Jer, ako ima
otisak - i sam kažeš da nije problem naći šifru koja prolazi.
Poenta je da NIKO (ni sysop, pa ni onaj ko je pisao softver)
ne može da zna šifru korisnika.
To je mana algoritma za ovaj slučaj, u nekim drugim slučajevima
verovatno bi poslužio.
Peđa.
algoritmi.89peca.st,
-> #82, snemcev!-> Btw, voleo bih da neko nađe lozinku za
!-> onaj logon.exe pa da nastavimo diskusiju
!-> sa nečim konkretnim u rukama.
Ako je u logon.exe korišćen onaj algoritam, moraš nam dati
koji je broj zapamćen, to jest za koji broj da tražimo šifru.
Jer, cilj je bio da se iz otiska ne može naći šifra koja će
dati takav otisak!
Peđa.
algoritmi.90peca.st,
-> #81, snemcev!-> Kad se zna broj, nije problem. Problem je
!-> što (zasad) ne znaš broj.
Kad se zna broj dobijen posle CRC algoritma, opet je problem
(i to praktično iste težine kao da ne znaš taj broj).
Ovako kako ti kažeš, bilo ko ko pristupi disku BBSa (jer ovde
pre svega o tome govorimo) svejedno mu je dal će naći fajl sa
originalnim šiframa ili fajl sa otiscima šifara. Jer, ako ima
otisak - i sam kažeš da nije problem naći šifru koja prolazi.
Poenta je da NIKO (ni sysop, pa ni onaj ko je pisao softver)
ne može da zna šifru korisnika.
To je mana algoritma za ovaj slučaj, u nekim drugim slučajevima
verovatno bi poslužio.
Peđa.
algoritmi.92kale,
-> #80, dr.grba
>> >> Nisam siguran da nisam izmislio toplu vodu. Ovo koristim negde od
>> >> '89. i zasad je bilo sasvim dovoljno da otera one koji bi da
>> >> čačkaju po programu.
>> 'Ajde onda, objasni nevernim Tomama koliki je efekat ovakvih kriptova.
Pazi, ako je njegov sistem izdržao 10 godina, to ne znači da je dobar.
Sistem bez zaštite je savršeno siguran ako niko neće da ga napada. To je
sasvim druga tema.
algoritmi.91kale,
-> #78, snemcev
>> >> Evo, pokušaj da se proslaviš i razbij ovu lozinku. Korišćen je tačno
>> >> onaj opisani algoritam iz moje poruke.
>> Izbi mi argument iz ruke. ;) A baš sam ovo hteo da pošaljem.
Onaj ne prođe baš dobro, samo ti pošalji. ;>
algoritmi.93kale,
-> #81, snemcev
>> >> Tvoj logon.exe samo pišti, a ne daje broj na izlazu.
>> žini mi se da je taj logon.exe dovoljno blizu realne situacije. Takva
>> provera se recimo nalazi na ulazu u program. Ti nemaš pojma koji je broj
>> rezultat koje ulazne lozinke, a treba da provališ u sistem.
Ajde da ponovim još jednom: smisao funkcije za transformaciju lozinke
je da se onome ko je došao do njenih rezultata maksimalno oteža nalaženje
lozinke koja će da prođe.
Ako možeš da sakriješ rezultate transformacija korisničkih
lozinki, mogao si umesto rezultata transformacije da sakriješ originalne
lozinke. Korišćenjem funkcije si samo smanjio potreban broj nasumičnih
pokušaja da bi se provalilo u sistem, dakle oslabio si zaštitu.
>> >> Naravno, zadaj i neki broj za koji treba naći password koji će da
>> >> prođe.
>> Kad se zna broj, nije problem. Problem je što (zasad) ne znaš broj.
Znači, zaštita tvog sistema se sastoji u tome što se ne zna gde su
brojevi? Jedna od najslabijih zaštita, takođe neprimenljiva na nekim
sistemima.
žovek nije pitao da li i gde da sakrije lozinke i algoritam, nego je
tražio funkciju.
algoritmi.94kale,
-> #85, niklaus
>> Stvar je sledeća... Ljudi od kojih će se, u jednom trenutku
>> njihovog srećnog programerskog života, tražiti da naprave algoritam za
>> sigurno čuvanje šifara, bi trebalo da su dovoljno inteligentni da pronađu
>> dovoljno siguran algoritam, ili da su jednostavno u stanju da od ponuđenih
>> algoritama, nađu onaj sa najmanjom verovatnoćom za "provalu".
Trebali da budu dovoljno inteligentni??? žovek je bio dovoljno
inteligentan da zatraži savet. Najbolje mu možemo pomoći ako mu damo dobar
algoritam ili bar ukažemo na slabosti nekog algoritma. Najviše mu možemo
odmoći ako ga uverimo da je neki loš sistem dobar. Pokazalo se da se u ovoj
oblasti lako desi da ono što deluje kao sigurna zaštita ispadne "mačji
kašalj". Ja na osnovu (samo) ovih stvari ne bih sudio o nečijoj
inteligenciji.
Od ponuđenih algoritama za sada znamo da je jedan slab, a za drugi (CRC)
još ne znamo kakav je.
Kad bih ja imao potrebu za takvom funkcijom, ja bih se isto prvo
raspitao za algoritam, probao da nađem neku funkciju koja se već koristi na
ozbiljnim OS. Ako je ne bih našao gotovu, smislio bih svoju i pitao druge
šta misle o njoj.
algoritmi.95snemcev,
-> #79, peca.st>> Recimo, onaj algoritam što je poslao dr.grba daje istu vrednost za
>> "dr.grba" i za "fs.grba"
Fora je u tome da prvo treba da provališ da je u pitanju taj algoritam,
pa tek onda možeš da konstatuješ za koje lozinke daje iste izlazne
brojeve.
Još jednom ponavljam: "provali" onaj logon.exe što ga je Grba poslao, pa
onda možemo da diskutujemo o tome da li je takva zaštita dovoljna da
znatiželjnike zadrži na odstojanju.
algoritmi.96snemcev,
-> #87, peca.st>> Ako je u logon.exe korišćen onaj algoritam, moraš nam dati
>> koji je broj zapamćen, to jest za koji broj da tražimo šifru.
>> Jer, cilj je bio da se iz otiska ne može naći šifra koja će
>> dati takav otisak!
Ne, nemoram. Ni uz jedan paket nisi dobio papirić na kome piše "Ulazna
lozinka kao rezultat transformacije daje broj 908213-3126".
Btw, logon.exe je provaljen (svaka čast). Oćel' ovo pomoći?
;Name CRC32.ASM
;Author (C) 1986 Gary S. Brown. No restrictions apply.
;1992.04.19 Rewrite - Bruce Gavin Translated C -> ASM.
;1992.11.3 Rewrite - Terry Carmen re-wrote to be callable
; from Clipper S'87 or 5.01
; CRC32 takes a single argument as a string, and returns
; the CRC32 to Clipper as an 8 digit character string
; Returns NIL if called with incorrect arguments or an empty string
; CRC32 polynomial is edb88320h, and will produce identical CRCs as PKIZP
algoritmi.97prvul,
-> #64, d.petrovicŮĂ> pretpostaviti da će doći i do kopije programa. A onda treba par
ŮĂ> desetina minuta dibagovanja i eto algoritma.
ŮKoliko pari desetina? Pre će naći proveru password-a pa je isključiti
Ůnego što će naći algoritam, ali kad se to uvrne 2-3 puta može manijak
Ůi da odustane. Osim toga da raspravljamo o apsolutnoj zaštiti ili da
Ůse odmah složimo da je nemoguća.
Ů▄▄
Pišem o razbijanju šifri na BBS-u. Dakle, šta će hakeru razbijena
verzija BBS softvera? Da je podmetne na ciljni BBS? ;)
A par desetina je deset minuta do dva sata, što i nije strašno...
I kada se "registruje" neki program, poželjno je ne samo napraviti
"razbijenu" verziju, već i naći algoritam za registraciju. Ipak
sam mirniji kada ne moram da mislim na to da li mi je promakla još
neka provera zaštite koja se ko zna kada manifestuje... zato kada
god mogu nađem reg. broj i registrujem program na "legalan" način.
algoritmi.98prvul,
-> #70, dr.grbaŮ>> desetina minuta dibagovanja i eto algoritma.
ŮEvo, pokušaj da se proslaviš i razbij ovu lozinku. Korišćen je tačno
Ůonaj opisani algoritam iz moje poruke.
Ů▄▄
:) Ne verujem da bih se proslavio razbijajući fajl od 4k ;)
A ono sa objavljivanjem algoritma nisam ja smislio već je to
u krugovima koji se bave kriptografijom opšte prihvaćena stvar.
Još jednom, nisam tvrdio da lozinka može da se provali, već da
sigurnost zaštite nije mnogo povećana time što je algoritam sakriven,
jer se on može (a uz odgovarajuću motivaciju) "izvući" iz koda, pa
zaštita koja se zasniva na tajnosti algoritma nije preporučljiva.
Dobro, za BBS-ove ima jedna olakšavajuća okolnost: onaj ko zna da
"izvuče" neki komplikovan algoritam iz koda verovatno ima pametnija
posla nego što je to provaljivanje šifri na nekom tamo BBS-u.
Na primer, sedeći non-stop u chatu sam pročitao masu šifara a razne
BBS-ove koje ljudi jedni drugima kažu jer misle da su sami... i nikada
nisam imao želju da ma koju zapamtim - šta će mi... a to je ipak lakše
nego provaljivati program...
algoritmi.99debelijencija,
-> #62, niklaus!=?> Ovo me podseća na algoritme, koje koriste simulatori realnih
!=?> (prirodnih) procesa, tipa neke igre (fudbal menadžeri)...
Nekada davno, ja i burazer smo planirali tako nešto... :)
Ako znaš nešto više o tome, ili imaš nešto i napismeno, bio bih ti
vrlo zahvalan da me uputiš... žisto da, možda, ostvarim tu davnu ideju.
Ala sam nostalgičan! :)
algoritmi.101dr.grba,
-> #76, kale>> Tvoj logon.exe samo pišti, a ne daje broj na izlazu. Ajde napravi
>> (ne bilo ti zapoveđeno) verziju koja umesto pištanja ispiše broj
Moj (nije moj, ali 'aj'cad) logon.exe radi onako kako bi trebalo da
radi program za lozinku. Da je na nekoj komunikacionoj vezi, posle trećeg
promašaja korisnik bi bio izbačen sa veze.
>> izvršava da bi moj program mogao da ga pozove (da ne moram da
>> kucam). Nemoj da mi postavljaš domaći tipa "otkrij algoritam" jer
>> to nije ono što je traženo. Zadrži se na linearnoj transformaciji
>> k1*z1+k2*z2+... (gde su k-ovi
Ne, algoritam nije diran. Upravo je onaj koji ti opisuješ. Da ti pomognem,
max lozinka je 20 chars (:
>> pošaljem sors programa koji će to da razbije "in no time".
>> Naravno, zadaj i neki broj za koji treba naći password koji će da prođe.
Ove muzičke želje mi nisu jasne. Radi se o tvojoj nameri da razbiješ
program tako da nađeš šifru koja je ugrađena u source programa. Dobio
si tačno onaj program koji stoji na mom disku. Kad ga razbiješ, ako ti
uspe, sa zadovoljstvom ću priznati da si majstor. Lozinku slobodno
objavi ovde.
algoritmi.102dr.grba,
-> #77, kale>> Neka lozinka ima najviše 8 znakova (malih i velikih slova i
>> cifara). Broj lozinki je 62ž8 što je preko 2 E 14. Broj koji je
>> rezultat transformacije je >= 36 * asc("0") = 1728 i <= 36 *
>> asc("z") = 4392. Pošto
'Ajde da uzmemo 64 umesto 62:
64**8 = (2**6)**8, a to je 2**48, a ne 2**14, pošto ovo nije
(2**6) * (2**8), što bi stvarno bilo 2**14
Gadan previd, a?
Izvini na izlišnimzagradama, ovako je preglednije, kao i ** umesto ž
P.S. 2**48 je.... koliko ono beše?... A, da, 2.81474977*(10**14)
žas posla za razbiti (:
algoritmi.100dr.grba,
-> #75, kale>> žovek je tražio savet, i dobio loš savet. Sad ti kažeš da
>> savetodavac nije hteo da mu kaže rešenje nego da ga inspiriše.
I dalje mislim da je rešenje dobro NA ODREĐENOM NIVOU....
>> dobar i da ga koriste ubeđeni u njegovu pouzdanost. Nije nam cilj
>> da neko nauči nešto loše, a možda i da pretrpi štetu zbog neznanja,
>> zar ne?
Ne vidim moguću štetu, osim one da se ova zaštita ugradi na neprikladnom
mestu. Kakav algoritam ti predlažeš? 'Ajde da ga vidimo.
algoritmi.106dr.grba,
-> #87, peca.st>> Jer, cilj je bio da se iz otiska ne može naći šifra koja će
>> dati takav otisak!
Nije tačno.