![]() |
Hallo en welkom van de Verenigde Staten aan de UNIX en Linux Forum! Bedankt voor uw bezoek en Deelnemen aan onze wereldwijde gemeenschap.
|
|
google unix.com
|
|||||||
| Forums | Registreer | Forum Regels | Links | Albums | Veelgestelde vragen | Ledenlijst | Kalender | Zoeken | Today's Posts | Markeer forums als gelezen |
| Programmeren en Shell Scripting Post vragen over KSH, CSH, SH, Bash, Perl, PHP, sed, awk en andere shell scripts en shell scripting talen hier. |
Meer UNIX en Linux Forum Onderwerpen Misschien vindt u Helpful
|
||||
| Draad | Thread Starter | Forum | Antwoorden | Last Post |
| Plaats Gevoelige Hash Function Gebaseerd op Gelijktijdig Rand Bestel Statistieken | iBot | UNIX en Linux RSS Nieuws | 0 | 07-07-2008 05:10 |
| Passing globale variabele naar een functie die wordt aangeroepen door een andere functie | SARS | Programmeren en Shell Scripting | 4 | 06-30-2008 11:39 |
| Perl Hash | Harikrishna | Programmeren en Shell Scripting | 1 | 06-02-2008 11:45 PM |
| MD5 hash-berekening | zedex | Hoog Niveau Programmering | 4 | 02-24-2007 02:37 |
| Hekje (#) als een variabele | errolg | UNIX voor Dummies Questions & Answers | 5 | 05-21-2002 03:03 |
![]() |
|
|
LinkBack | Thread Tools | Zoeken in deze Thread | Rate Thread | Display Modes |
|
|
|
||||
|
Heeft u een pseudo hash-algoritme en checksum op basis van online-inhoud of een eenvoudige
gebeurtenis bedrag (reeds hierboven)? Hier is de eerste. Code:
function makesimplehash(data,seedval, n,x,hashval,store,p) {
for (n = 1 ; data[n] != 0 ; n++) {
x = sprintf("%d",data[n])
if (x == 0) {
gencharsarr(store)
for (p=0 ; p < 10 ; p++) {
if (store[p] == data[n]) {x = p + 1; break;}
}
}
#printf "Derived value %d from %d\n",x,data[n]
hashval += int(x + seedval % (n + 1))
}
return hashval
}
function zeroarr(data,nv, x) {
while (x < nv) {data[x] = 0; x++}
}
function gencharsarr(data, n) {
str="abcdefghijk"
for (n=0 ; n < 10 ; n++) {data[n]=substr(str,n,1)}
}
function createhashable(szl, store,str,vn) {
store[0]=""
gencharsarr(store)
for (vn=0 ; vn < szl + 1; vn++) {
if (vn == 0) {str = store[int(1 + rand() * 9)]; continue}
str = str "," int(1 + rand() * 10)
}
return str
}
BEGIN {
arra[0]=""
cnt=0;sz=0
if (ARGC == 2 && ARGV[1] == "-generate") {
srand()
while (cnt < 20) {
sz = int(1 + rand() * 7)
print createhashable(sz)
cnt++
}
exit
}
}
{
FS=","
if ( (num = split($0,arra)) == 0) {printf "At record number %d, malformed field content.\n",NR ; next}
arra[num + 1] = 0;
#for (a = 1 ; a <= num ; a++) {print a,arra[a]}
printf "Hash value for %s = %d.\n",$0,makesimplehash(arra,15003)
zeroarr(arra,num)
}
|
![]() |
| Bladwijzers |
| Thread Tools | Zoeken in deze Thread |
| Display Modes | Beoordeel deze draad |
|
|