Telefon-Treff

 

Suchen | Registrieren | Kalender | Mitglieder | Hilfe | Regeln | Handydatenbank | Twitter | Impressum | Abmelden
Telefon-Treff > Technik-Ecke > Internet, Onlinedienste, VoIP, Webdesign & Programmieren > Formel Prüfsumme Überweisung o2
Gehe zu:
 
Dieses Thema durchsuchen:
 
TT-Premium-Account: Forum ohne Werbung und Platz für 1000 Nachrichten im Postfach? Informieren und bestellen!
  Vorheriges Thema   Nächstes Thema
Autor
Thema    Antworten
Síemenshandyfan ist offline Alter Beitrag 29.07.2009 13:35
Profil von Síemenshandyfan anzeigen Síemenshandyfan eine Private Nachricht schicken   Mehr Beiträge von Síemenshandyfan finden Füge Síemenshandyfan zu Deiner Buddy-Liste hinzu Beitrag bearbeiten/löschen Zitieren
Síemenshandyfan

Junior Guru

Registriert seit: 10/2004
Beiträge: 2524
Threadersteller

Formel Prüfsumme Überweisung o2

Hallo Leute!

Ich bin grad etwas am grübeln. Wir haben zwar selber den Prüfsummenrechner für o2 mit auf dem Prepaid-Wiki. Was mich aber interessieren würde: woraus errechnet sich diese 4stellige Prüfsumme, die zur Überweisung notwendig ist bzw. kennt jemand die Formel hierzu? Ich würde das gerne in einer Exel-Tabelle zur Berechnung verwenden, komme aber nicht wirklich dahinter.
Vielleicht kann sich ein Experte ja mal den HTML-Quellcode anschauen, dort müsste doch das "Geheimnis" zu entschlüsseln sein, oder?

Bye, Mike

__________________
Tips&Tricks zum Thema Prepaidkarten gib's im Prepaid-Wiki: www.prepaid-wiki.de
Änderungen fürs Prepaid-Wiki melden
ICQ: 453949257

Diesen Beitrag melden | IP | Link zum Beitrag

ejunky ist offline Alter Beitrag 29.07.2009 22:52
Profil von ejunky anzeigen ejunky eine Private Nachricht schicken   Mehr Beiträge von ejunky finden Füge ejunky zu Deiner Buddy-Liste hinzu Beitrag bearbeiten/löschen Zitieren
ejunky

Junior Profi

Registriert seit: 09/2005
Beiträge: 409

hört sich auch ein bißchen geheimnisvoll an. hab noch nicht von diesem Prüfsummenkram gehört. soll damit die zuordnung der zahlung garantiert werden? und willst du ohne dieses gesimse deine zahlungen regeln? ist diese prüfsumme rein mobilfunknummerabhängig?

EDIT: wenns nicht zu viel ist kannst du den code oder die betrefende stelle ja reinkopieren

Geändert von ejunky am 29.07.2009 um 22:56

Diesen Beitrag melden | IP | Link zum Beitrag

wgot ist offline Alter Beitrag 29.07.2009 23:21
Profil von wgot anzeigen wgot eine Private Nachricht schicken   Mehr Beiträge von wgot finden Füge wgot zu Deiner Buddy-Liste hinzu Beitrag bearbeiten/löschen Zitieren
wgot

Senior Profi

Registriert seit: 07/2002
Beiträge: 1170

Hallo,

Zitat:
Original geschrieben von ejunky
soll damit die zuordnung der zahlung garantiert werden?


genau, ohne oder mit falschen Prüfziffern kommt die Überweisung zurück.
Zitat:
willst du ohne dieses gesimse deine zahlungen regeln?

Das kann er schon, hat doch im prepaid-wiki den Prüfsummererzeuger:

http://prepaid-wiki.de/index.php5?t...9Cberweisung_O2

Keine Ahnung wo der her ist. Die auf 0176 kastrierte Variante gibt's öffentlich bei Tchibo.

Die Prüfziffern scheinen was ganz hausbackenes zu sein, kein offizieller Code. Wer ihn in einer anderen Programmiersprache braucht wird wohl das JavaScript übersetzen müssen.

Gruß, Wolfgang

Diesen Beitrag melden | IP | Link zum Beitrag

bsee ist offline Alter Beitrag 29.07.2009 23:26
Profil von bsee anzeigen bsee eine Private Nachricht schicken   Mehr Beiträge von bsee finden Füge bsee zu Deiner Buddy-Liste hinzu Beitrag bearbeiten/löschen Zitieren
bsee

Profi

Registriert seit: 05/2009
Beiträge: 646

Edit: zu spät!
Die betreffende (Fund-)Stelle:
http://www.prepaid-wiki.de/index.ph...erweisung_Fonic
http://www.prepaid-wiki.de/index.ph...9Cberweisung_O2
http://www.prepaid-wiki.de/index.ph...isung_Tchibofon
Ich habe diverse Nummern getestet, die Quersumme war immer eine andere.

__________________
SIMs: Netzclub zum Fonen, Lidl zum Surfen - Mein 1. Mal anno 2000 - Nur Dienstpersonal muss immer erreichbar sein - Wird ein Mann laut, ist es dynamisch, wird eine Frau laut, ist sie hysterisch - Ein Mann macht Erfahrungen, eine Frau hat Vergangenheit - Geburtstag(s)feiern: das Zelebrieren der Tatsache, dass man dem Tod ein Stück näher kommt, ist ein seltsamer Brauch - Aus den Trümmern der Verzweiflung bauen wir unseren Charakter - Wer von der Hoffnung lebt, stirbt an Verzweiflung - Abo- & Vertragsfallen/Inkasso-Stalking

Diesen Beitrag melden | IP | Link zum Beitrag

JHV ist online! Alter Beitrag 30.07.2009 00:16
Profil von JHV anzeigen JHV eine Private Nachricht schicken   Mehr Beiträge von JHV finden Füge JHV zu Deiner Buddy-Liste hinzu Beitrag bearbeiten/löschen Zitieren
JHV

Inventar

Registriert seit: 01/2003
Beiträge: 5780


Code:

function getChecksum() { src = document.getElementById("vzweck"); msisdn = '0176'+ document.getElementById("vzweck").value; l = msisdn.length; if(l!=11 && l!=12) { // Fehlermeldung ausgeben wronChecksum(); } else { var d1 = 0; var d2 = 0; var d3 = 0; var d4 = 0; var z = 0; var d4mul = 1; for(i=0; i<l; i++) { c = msisdn.charAt(i); if(c<'0' || c>'9') { // Fehlermeldung ausgeben wronChecksum(); break; } value = c-'0'; d1 ^= value; if(i%2==0) { z = 2*value; if(z>9) z -= 9; } else z = value; d2 += z; d3 += value; d4 += value*d4mul; if(++d4mul>9) d4mul = 1; } if(d1>9) d1 -= 6; d2 %= 10; d3 %= 10; d4 %= 10; chars = new Array(4); chars[0] = d1; chars[1] = d2; chars[2] = d3; chars[3] = d4; checksum = new String(chars.join("")); newText = '<strong>0176-'+ document.getElementById("vzweck").value +'-'+ checksum +'</strong>'; //Tabellenzelle inputCell ausrichten wie in der klasse inputCell document.getElementById("inputCell").style.verticalAlign = "middle"; document.getElementById("inputCell").style.height = "54px"; document.getElementById("vzweckcopy").value = '0176-'+ document.getElementById("vzweck").value +'-'+ checksum; // ggf. Fehlermeldung wieder ausblenden document.getElementById("vzweck").className = "input"; document.getElementById("vzweck").value = ""; document.getElementById("vzerror").innerHTML = ""; document.getElementById("vzerror").className = "hide"; // für die erste Ausgabe document.getElementById("uevzweck").innerHTML = newText; // für die Überweisung document.getElementById("uevzwecktd").innerHTML = "Ihre Überweisungsdaten sind nun vollständig."; // Berechnung erfolgreich javascriptopup_show(); } }

Diesen Beitrag melden | IP | Link zum Beitrag

JHV ist online! Alter Beitrag 30.07.2009 01:19
Profil von JHV anzeigen JHV eine Private Nachricht schicken   Mehr Beiträge von JHV finden Füge JHV zu Deiner Buddy-Liste hinzu Beitrag bearbeiten/löschen Zitieren
JHV

Inventar

Registriert seit: 01/2003
Beiträge: 5780

Die 4 Stellen der Prüfnummer werden nach 4 verschiedenen Algorithmen aus allen 12 Ziffern der Rufnummer (einschl. Vorwahl '0176') berechnet:

1. Stelle:
Alle Ziffern werden XOR verknüpft.
Falls Ergebnis > 10, wird 6 abgezogen.

2. Stelle:
Summe aller Ziffern, wobei die geraden Positionen verdoppelt werden (minus 9)

3. Stelle:
Summe aller Ziffern

4. Stelle:
Summe aller Ziffern, jedoch wird die erste Ziffer mit 1 multipliziert, die zweite mit 2 ... die zehnte Ziffer wieder mit 1 usw.

Diesen Beitrag melden | IP | Link zum Beitrag

Síemenshandyfan ist offline Alter Beitrag 30.07.2009 09:07
Profil von Síemenshandyfan anzeigen Síemenshandyfan eine Private Nachricht schicken   Mehr Beiträge von Síemenshandyfan finden Füge Síemenshandyfan zu Deiner Buddy-Liste hinzu Beitrag bearbeiten/löschen Zitieren
Síemenshandyfan

Junior Guru

Registriert seit: 10/2004
Beiträge: 2524
Threadersteller

Zitat:
Original geschrieben von JHV
Die 4 Stellen der Prüfnummer werden nach 4 verschiedenen Algorithmen aus allen 12 Ziffern der Rufnummer (einschl. Vorwahl '0176') berechnet:

1. Stelle:
Alle Ziffern werden XOR verknüpft.
Falls Ergebnis > 10, wird 6 abgezogen.

2. Stelle:
Summe aller Ziffern, wobei die geraden Positionen verdoppelt werden (minus 9)

3. Stelle:
Summe aller Ziffern

4. Stelle:
Summe aller Ziffern, jedoch wird die erste Ziffer mit 1 multipliziert, die zweite mit 2 ... die zehnte Ziffer wieder mit 1 usw.


Okay, das scheint der richtige Lösungsansatz zu sein, auch wenn ich es auf die Schnelle noch nicht zu 100% verstehe. Aber so eine komplexe Berechnung dürfte schwierig in Exel integrierbar zu sein, oder?

Bye, Mike

__________________
Tips&Tricks zum Thema Prepaidkarten gib's im Prepaid-Wiki: www.prepaid-wiki.de
Änderungen fürs Prepaid-Wiki melden
ICQ: 453949257

Diesen Beitrag melden | IP | Link zum Beitrag

Carponaut_Stefan ist offline Alter Beitrag 30.07.2009 22:28
Profil von Carponaut_Stefan anzeigen Carponaut_Stefan eine Private Nachricht schicken  Besuche Carponaut_Stefan's Homepage!  Mehr Beiträge von Carponaut_Stefan finden Füge Carponaut_Stefan zu Deiner Buddy-Liste hinzu Beitrag bearbeiten/löschen Zitieren
Carponaut_Stefan

Senior Profi

Registriert seit: 10/2007
Beiträge: 1469

Hallo Mike,

komplex nicht unbedingt aber vielleicht ein wenig kompakt. Probier mal bitte meine folgende Excel/Oo-"Formelsammlung" aus:

Zelle A1, komplette Rufnummer, z.B:
017612345678
Mit der rechten Maustaste gibt man Zelle A1 folgendes Format ( --> Zelle formatieren --> Reiter Zahl -->benutzerdefiniert):
\000000000
Dadurch wird immer eine führende Null dargestellt.

B1:
=WERT(TEIL(TEXT($A$1;"\000000000000");(ZELLE("ROW";B1));1))
Durch Ziehen diese Formel in alle Zellen bis B12 bringen. So Ziehen, dass die relativen Bezüge automatisch angepasst werden.

C1: (bis C12 ziehen)
=WENN(ISTLEER(B1);"";WENN(ISTGERADE(ZELLE("ROW";C1)-1); 1;0)* (2*WERT(B1) -(WENN(2*WERT(B1)>9;9;0))))

D1 (bis D12 z.)
=WENN(ISTUNGERADE(ZELLE("ROW";D1)-1); WERT(B1);0)

In E1 schreibt man als Initialisierung schlicht
0
hinein.

E2 (bis E15 z.) :
=BININDEZ(WECHSELN(DEZINBIN(E1)+DEZINBIN(B2);2;0))


F1 (bis F15 ziehen):
=B1*(REST(ZELLE("ROW";F1)-1;9)+1)

G1:
=E15-WENN(E15>9;1;0)*6
G2:
=REST((SUMME(C1:C14)+SUMME(D1:D14));10)
G3:
=REST(SUMME(B1:B14);10)
G4:
=REST(SUMME(F1:F15);10)

Alle 4 Ziffern zu einer Zahl rekombiniert man mit einer zusätzlichen Formel in H1:
=G1*1000+G2*100+G3*10+G4

Vielleicht wirken die Formeln etwas kompakt dennoch hoffe ich dass durch die Aufteilung auf Spalten die einzelnen Arbeitsschritte etwas transparenter geworden sind. Eine sportliche Aufgabe wäre sicherlich, das ganze ohne Makro in einer einzigen Formelzeile zu erledigen .-......... :D

Verwendete Quellen:
http://www.excelformeln.de/formeln.html?welcher=314
http://www.office-loesung.de/ftopic62953_0_0_asc.php
http://www.telefon-treff.de/showthr...266#post3759266
sowie die sehr instruktive Erläuterung des TT-Users JHV auf:
http://www.telefon-treff.de/showthr...291#post3759291 :D


PS: weiss jemand wie man den Formelgehalt einer einzelnen Tabelle extrahieren und schön als Code-Quelltext darstellen kann? Nicht so:
http://www.schmittis-page.de/index....cel/faq/f10.htm

Geändert von Carponaut_Stefan am 30.07.2009 um 23:43

Diesen Beitrag melden | IP | Link zum Beitrag

Síemenshandyfan ist offline Alter Beitrag 31.07.2009 00:02
Profil von Síemenshandyfan anzeigen Síemenshandyfan eine Private Nachricht schicken   Mehr Beiträge von Síemenshandyfan finden Füge Síemenshandyfan zu Deiner Buddy-Liste hinzu Beitrag bearbeiten/löschen Zitieren
Síemenshandyfan

Junior Guru

Registriert seit: 10/2004
Beiträge: 2524
Threadersteller

Zitat:
Original geschrieben von Carponaut_Stefan
Hallo Mike,

komplex nicht unbedingt aber vielleicht ein wenig kompakt. Probier mal bitte meine folgende Excel/Oo-"Formelsammlung" aus:




Hey Stefan!

Das probier ich die Tage mal aus.
Cool wäre es dann noch, wenn man aus einer solchen Exel-Tabelle z.b. mit 10... Nummern die entsprechenden Rufnummern+Prüfziffern extrahieren und als DTA exportieren könnte...um selbiges dann als Sammelüberweisung wiederum in ein Bankingprogramm zu importieren. Natürlich immer mit 1 Cent als Überweisungsssumme und o2 als Empfänger. Krönung wäre dann noch, die einzelnen Rufnummern in die Exel-Tabelle oder eine andere Programmroutine per Barcodescanner einzulesen und somit einen kompletten Automatismus zu erreichen...
Also praktisch so: Barcodescanner liest ein, Programm errechnet die Betreffzeile und generiert den Überweisungsträger. Dann mit der nächsten Karte wieder u.s.w. Das schwebt mir im Moment jedenfalls als "Endziel" vor...

Bye, Mike

__________________
Tips&Tricks zum Thema Prepaidkarten gib's im Prepaid-Wiki: www.prepaid-wiki.de
Änderungen fürs Prepaid-Wiki melden
ICQ: 453949257

Diesen Beitrag melden | IP | Link zum Beitrag

Carponaut_Stefan ist offline Alter Beitrag 31.07.2009 10:28
Profil von Carponaut_Stefan anzeigen Carponaut_Stefan eine Private Nachricht schicken  Besuche Carponaut_Stefan's Homepage!  Mehr Beiträge von Carponaut_Stefan finden Füge Carponaut_Stefan zu Deiner Buddy-Liste hinzu Beitrag bearbeiten/löschen Zitieren
Carponaut_Stefan

Senior Profi

Registriert seit: 10/2007
Beiträge: 1469

Nun gut!

Nachdem das Problem hinsichtlich Prüfsumme als gelöst gelten darf, bleiben noch zwei Fragen:

- ob der erweiterten Fragestellung vielleicht jemand anders, z.b. der User JHV, seine freundliche Aufmerksamkeit zuwenden mag?

- ob dieser Thread vielleicht besser im Unterforum "Webdesign & Programmierung" aufgehoben wäre?

Diesen Beitrag melden | IP | Link zum Beitrag

Evilandi666 ist offline Alter Beitrag 03.08.2009 13:45
Profil von Evilandi666 anzeigen Evilandi666 eine Private Nachricht schicken   Mehr Beiträge von Evilandi666 finden Füge Evilandi666 zu Deiner Buddy-Liste hinzu Beitrag bearbeiten/löschen Zitieren
Evilandi666

Guru

Registriert seit: 01/2007
Beiträge: 3261

Was ist denn die "erweiterte Fragestellung"? Das mit dem Barcodescanner? Na dann viel Spaß.

__________________
Aktuell im VK: HTC Desire mit 2 Dockingstations und Fitbag Tasche
Meilensteine der Handygeschichte: Nokia 3210 - Siemens SL45 - Nokia 3650 - SE K750i - Nokia N95 - Apple iPhone

Diesen Beitrag melden | IP | Link zum Beitrag

Evilandi666 ist offline Alter Beitrag 03.08.2009 17:04
Profil von Evilandi666 anzeigen Evilandi666 eine Private Nachricht schicken   Mehr Beiträge von Evilandi666 finden Füge Evilandi666 zu Deiner Buddy-Liste hinzu Beitrag bearbeiten/löschen Zitieren
Evilandi666

Guru

Registriert seit: 01/2007
Beiträge: 3261

@Stefan

ich hab das gerade mal probiert, bei mir in Excel 2007 tut das mal nicht, er zeigt in jedem Feld 0 an.

Aber vermutlich liegt das eher daran das ich Excel nie benutze

Brauchs auch nicht, habs nur mal getestet

__________________
Aktuell im VK: HTC Desire mit 2 Dockingstations und Fitbag Tasche
Meilensteine der Handygeschichte: Nokia 3210 - Siemens SL45 - Nokia 3650 - SE K750i - Nokia N95 - Apple iPhone

Diesen Beitrag melden | IP | Link zum Beitrag

Bongomann ist offline Alter Beitrag 07.08.2011 16:11
Profil von Bongomann anzeigen Bongomann eine Private Nachricht schicken   Mehr Beiträge von Bongomann finden Füge Bongomann zu Deiner Buddy-Liste hinzu Beitrag bearbeiten/löschen Zitieren
Bongomann

Profi

Registriert seit: 10/2004
Beiträge: 651

Klappt das obige Beispiel bei jemandem? Bei mir stimmt die Prüfsumme nicht. IMHO passen die Formeln auch nicht zur Beschreibung...

Ich habe den o.g. JavaScript-Code mal in VBA überführt. Vielleicht kann das ja einer gebrauchen. Da sind zwar die Prüfungen nicht mehr drin, aber es funktioniert.


Code:

Option Explicit Sub o2_berechnung() Dim d1, d2, d3, d4, d4mul, lauf, wert, z As Byte Dim c As String Const nummer = "xxxxxxxxxxx" d4mul = 1 For lauf = 0 To Len(nummer) - 1 c = Mid(nummer, lauf + 1, 1) wert = Val(c) d1 = wert If lauf Mod 2 = 0 Then z = 2 * wert If z > 9 Then z = z - 9 End If Else: z = wert End If d2 = d2 + z d3 = d3 + wert d4 = d4 + wert * d4mul d4mul = d4mul + 1 If d4mul > 9 Then d4mul = 1 Next If d1 > 9 Then d1 = d1 - 6 End If d2 = d2 Mod 10 d3 = d3 Mod 10 d4 = d4 Mod 10 c = d1 & d2 & d3 & d4 Debug.Print (c) End Sub

__________________
Fette Weiber knallen ist wie Mofa fahren, macht solange Spaß, bis dich jemand dabei sieht.
Grammar is important. Capitalisation is the difference between helping your Uncle Jack off a horse & helping your uncle jack off a horse.

Geändert von Bongomann am 07.08.2011 um 17:27

Diesen Beitrag melden | IP | Link zum Beitrag

sorim ist offline Alter Beitrag 24.02.2012 20:13
Profil von sorim anzeigen sorim eine Private Nachricht schicken   Mehr Beiträge von sorim finden Füge sorim zu Deiner Buddy-Liste hinzu Beitrag bearbeiten/löschen Zitieren
sorim

Junior Mitglied

Registriert seit: 06/2011
Beiträge: 15

Bei mir klappt der VBS Code nicht ganz.
Die erste Prüfnummer ist immer die letzte Nummer der Handy-Nummer.
Die anderen 3 Prüfnummern scheinen zu stimmen.


Ich glaube hier ist der Fehler:

statt:
d1 = Wert

muß stehen:

d1 = d1 xor wert

__________________
Gruß,
Sorim

Geändert von sorim am 24.02.2012 um 20:36

Diesen Beitrag melden | IP | Link zum Beitrag

Alle Zeitangaben in WEZ +1 Stunde. Es ist 10:43 Uhr. Schliessen   Antworten
  Vorheriges Thema   Nächstes Thema
Druckbare Version zeigen | Diese Seite per eMail verschicken | Dieses Thema abonnieren

Gehe zu:
 

Telefon-Treff > Technik-Ecke > Internet, Onlinedienste, VoIP, Webdesign & Programmieren > Formel Prüfsumme Überweisung o2

Forum Regeln:
Es ist Dir nicht erlaubt, neue Beiträge zu schreiben.
Es ist Dir nicht erlaubt, auf Beiträge zu antworten.
Es ist Dir nicht erlaubt, Anhänge anzufügen.
Es ist Dir nicht erlaubt, Deine Beiträge zu bearbeiten.
HTML Code ist ausgeschaltet
vB Code ist angeschaltet
Smilies sind angeschaltet
[IMG] Code ist angeschaltet
 

Partner-Forum: BMW-Treff
 Archiv
Copyright ©2002 - 2014 Telefon-Treff.de