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

  • 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

  • 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?title=%C3%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

  • Edit: zu spät!
    Die betreffende (Fund-)Stelle:
    http://www.prepaid-wiki.de/ind…le=%C3%9Cberweisung_Fonic
    http://www.prepaid-wiki.de/ind…title=%C3%9Cberweisung_O2
    http://www.prepaid-wiki.de/ind…C3%9Cberweisung_Tchibofon
    Ich habe diverse Nummern getestet, die Quersumme war immer eine andere.

    Fonen: Netzclub, Surfen/Fonen: PremiumSIM - Mein 1. Mal anno 2000 - 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

  • 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

  • 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/sh…ostid=3759266#post3759266
    sowie die sehr instruktive Erläuterung des TT-Users JHV auf:
    http://www.telefon-treff.de/sh…ostid=3759291#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.html?/excel/faq/f10.htm

    Dodge - Aus Freude am Tanken

  • 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

  • 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?


    :)

    Dodge - Aus Freude am Tanken

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!