Hét vraag- en antwoordplatform van Nederland

ik ben op zoek naar een algoritme om tekst te coderen?

De tekst en een nummer moeten worden omgezet in een code. Deze moet ik ook weer kunnen terugvertalen. Waar vind ik zoiets?

Toegevoegd na 11 minuten:
ik wil een naam met een nummer samenvoegen. bijvoorbeeld de naam: "de visser bv" en een nummer als 121006. dat levert dan een code op als: TGY67-3FGT5-YG7GH-76C5L" op. Hierin zit dan een deel van de naam en de cijfers opgeslagen. Wellicht zit er dan een controlegetal in om snel de juistheid van de code te bepalen. En ik moet het terug kunnen vertalen.

Toegevoegd na 51 minuten:
Het antwoord van Widar is heel bruikbaar. Ik kan het niet uit een database halen omdat iedere klant weer een eigen inlogcode moet krijgen. Bovendien mag de code maar een jaar werken, daarom komt er een getal bij. Ik ga eens puzzelen met de suggesties van Widar.
Ik kan overigens geen tools vinden op internet die je hierbij helpen.

Verwijderde gebruiker
14 jaar geleden

Heb je meer informatie nodig om de vraag te beantwoorden? Reageer dan hier.

Geef jouw antwoord

Het is niet mogelijk om je eigen vraag te beantwoorden Je mag slechts 1 keer antwoord geven op een vraag Je hebt vandaag al antwoorden gegeven. Morgen mag je opnieuw maximaal antwoorden geven.

/
Geef Antwoord
+
Selected image

Het beste antwoord

Moet je het echt vanuit puur de code kunnen terugvertalen? Of volstaat het ook door de code op te zoeken in een database en daar dan de gegevens uit te trekken? (Die oplossing zou ik nl. kiezen)

Als je de gegevens gewoon uit een tabel kunt halen, kun je iets als volgt doen:

- Voor de eerste 4 tekens van de code neem je de huidige tijd in milliseconden. Dit reken je om naar een 36-tallig stelsel (10 cijfers + 26 letters, misschien enkele letters weglaten om codevervalsing moeilijker te maken).

- Voor de tweede set van 4 neem je een primair getal. Deze kun je gewoon uit een tabel plukken. Ook deze reken je weer om naar je 36-tallig stelsel.

- Voor de derde set laat je een hashcode los op de naam van het bedrijf, dit levert een redelijke methode op om een code aan een bedrijf te koppelen. Een hashcode is theoretisch niet echt uniek, maar voldoet in de praktijk prima, omdat deze nauwelijks voor 2 stukken data dezelfde code genereert. Voor een hashcode kun je die van Jenkins nemen bijvoorbeeld: http://en.wikipedia.org/wiki/Jenkins_hash_function

- Voor de vierde set neem je je nummer en rekent het om naar je 36-tallig stelsel. Wil je het nummer een beetje verbergen, dan kun je er ook weer eerst een hashcode op los laten.


Je kunt nu bij een gegeven code controleren of deze wel geldig is voor de combinatie van een naam en een nummer. Om dit te doen, neem je weer de naam van het bedrijf en het nummer en voert dezelfde berekeningen uit als hierboven en vergelijkt de uitkomsten.

Je kunt natuurlijk ook gewoon even de code en de bijbehorende gegevens uit een database plukken en de gegevens dan vergelijken ;)
(Lees meer...)
Verwijderde gebruiker
14 jaar geleden

Andere antwoorden (2)

Ligt eraan in welke scripttaal je het probeert te doen.
Wat ik gebruik is de letters/cijfers omzetten in hun Asci-code, dan die asci-code plus/min een getal te doen (Bijv. 5), en dat weer terug omzetten in tekst. Dit is natuurlijk wel makkelijk te decoderen. Als je het moeilijker wilt maken kan je bijvoorbeeld ook de positie van het teken meerekenen. Dus ipv ieder symbool +5 te doen, +5-(positie van het symbool) of +5-(positie symbool/3) ect.

Toegevoegd na 19 seconden:
Asci-codes: http://www.microwebedu.nl/site/helpdesk/documentatie/ascii_tabel.pdf
(Lees meer...)
Verwijderde gebruiker
14 jaar geleden
Mogelijk dat je op www.heise online iets van je gading vinden zal.

Toegevoegd na 3 minuten:
Toevoeging: www. heise.de
Online hoort er wel achter omdat het hier de internetversie beteft maar ik zie dat die toevoeging hierboven niet blauw kleurt vandaar.
(Lees meer...)
Verwijderde gebruiker
14 jaar geleden
Deel jouw antwoord

Het is niet mogelijk om je eigen vraag te beantwoorden Je mag slechts 1 keer antwoord geven op een vraag Je hebt vandaag al antwoorden gegeven. Morgen mag je opnieuw maximaal antwoorden geven.

/
Geef Antwoord
+
Selected image