Mikähän rangaistus seuraa, jos käyttää hyväksymätön tulostinta (kuten
suuri osa tietämättään käyttää) A) jos tulostin kuitenkin täyttää
standardin B) on mustesuihku eikä täytä ? Onko tuolla pankkiyhdistyksen
standardilla mikä juridinen asema ?
--
Kimmo Survo
http://www.mantta.fi/~kipesu/
Minä olen nyt varmaan sokea kun en tuosta standardista löydä
mainintaa, että pitäisi käyttää hyväksyttyjä tulostimia. Standardin
juridinen asema lienee se, että pankki ei vastaa hyväksyntämentelmän
ulkopuolisten laskuttajien viivakoodien oikeellisuudesta lainkaan.
--
* Sufficiently advanced magic is indistinguishable from technology (T.P) *
* PGP public key available @ http://www.iki.fi/killer *
Juu, tulostinta ei sinänsä hyväksytäkään, mutta aina uudella
tulostimella tai ohjelmistolla tehdyt laskut tulisi tarkistuttaa
Pankkiyhdistyksessä.
--
Jussi
MYYDÄÄN: Peugeot 206 1.4 XR 5-Ov ('00), takuu voimassa 12/2005 saakka.
Kuvia ja lisätietoja: http://www.nettiauto.com/253844
Eikä se pankki millään lailla vastaa kyllä kertaalleen hyväksyttyjenkään
koodien oikeellisuudesta. Tällainen olisi täysi tekninen mahdottomuuskin.
Kirjoittimia vaihdellaan kuitenkin tämän tästä, joten on mahdotonta
jälkikäteen tsekata ja tietää millä firman laserilla ne testit on
hyväksytysti tehty ja millä ei.
Laskun lähettäjähän siinä kärsii jos joku on kärsiäkseen, kun virheellisellä
viivakoodilla laskut ohjautuvatkin väärälle vastaanottajan tilille, tai
väärällä summalla.
Muun muassa verottajalle kävi pikku viivakoodikämmi, kun markat muuttuivat
euroiksi. Verottaja toimitti yrityksille esipainetut alv-maksulaput edelleen
sellaisina että viivakoodilta luettu summa tulkittiin markoiksi eikä
euroiksi.
Voidaanhan me perjantaiviihteeksi täällä näistä pankkiasioista tälleenkin
länkyttää, mutta siis oikeassa elämässä ja reaalimaailmassa tällaista ei
kuitenkaan tapahdu ikinä.
Että huonolaatuisen viivakoodin takia tilinumero tulisi selkeästi tulkittua
joksikin toiseksi tilinumeroksi. Ja viivakoodin lopussa oleva
tarkistussummakin olisi samalla tavalla painojäljeltään huonolaatuinen,
mutta se sattumalta olisikin juuri tuossa kohdassa viivakoodia kuitenkin
täsmälleen oikea numero, joka tarkistaa koko alkupään viivakoodirimpsun
oikeellisuutta.
Tällaista ei yksinkertaisesti tapahdu, virhe ei pääse läpi. Kaikkein yleisin
reagointitapa on, että viivakoodilukija ei inahdakaan, kun luetaan
huonolaatuista jälkeä. Mustesuihkarin jälki on usein tällaista, vaikka
silmällä katsoen näyttää terävältä ja hyvältä.
Toki jo viivakoodin tekovaiheessa voidaan tallettaa vääriä numeroita,
väärässä järjestyksessä. tai vaikka eurokoodi ja mk-koodi menevät sekaisin
tms. Mutta viivakoodilta ulos tuleva numerosarja on kyllä aina oikea, eli ne
numerot jotka sinne on talletettukin, ja jos viivakoodikynä ylipäätänsä
suostuu kyseisen koodin lukemaan.
Eikä se vastaa hyväksytyistäkään :-)
Jasso.
Mulle tuli kerran tilillepano, joka peruttiin pankin toimesta parin päivän
kuluttua.
Kyselyyni pankki vastasi summan tulleen tililleni väärän viivakoodin vuoksi.
Oli muuten kerrankin saldot kohdallaan.
Toi oli mielenkiintoinen juttu, että viivakoodissa voi olla vain yksi
tilinumero. Maksuautomaatit ilmeisesti päättelevät tilinumerosta saajan
ja sitten katsovat saajan tilin automaatin omistavassa pankissa.
Ihmettelinkin miksi nettipäätteet antavat viivakoodista eri tilinumeron
kuin automaatit
Osmo
> Oletko tutustunut pankkiyhdistyksen koodin struktuuriin? Siinä on
> muistaakseni kolminkertainen varmistus. Eli todennäköisyys
> väärälle
> tilille menemiseen on äärimmäisen pieni.
Pankkiviivakoodin tarkistuskoodit ovat matemaattisesti varsin
kevyttä kamaa.
Tilinumeron varmistuskoodi ei kykene havaitsemaan virhettä, jossa
kaksi kahden numeron pätkää vaihtavat keskenään paikkaa, jos pätkien
väliin jää kahdella jaollinen määrä numeroita, ml 0. Esimerkiksi
tileillä 123456-7890123X ja 127856-3490123X on sama tarkistenumero.
Viitenumero varmistetaan samankaltaisesti, mutta kolmen ryhmissä
eikä kahden kuten tilinumero.
Koko viivakoodi varmistetaan samalla tavoin kuin viitenumero ja
lisäksi Modulo103-varmistuksella. Erilaisia tarkisteita on siten
vain 1030 kappaletta koko 53-numeroista litaniaa varten. Suurimman
osan vahingoista kyseinen tarkistus kyllä huomaa, mutta kaukana se
on pomminvarmasta. Valonaroilla asioilla liikkuvaa koodaria se taas
ei juurikaan pitele, etenkin viitenumerokenttä tuottaa erinomaiset
mahdollisuudet häivyttää tieto vaikkapa tilinumeron tai loppusumman
vaihtamisesta.
Matti
--
Matti Grönroos -- http://www.iki.fi/mjg
> Koko viivakoodi varmistetaan samalla tavoin kuin viitenumero ja lisäksi
> Modulo103-varmistuksella. Erilaisia tarkisteita on siten vain 1030
> kappaletta koko 53-numeroista litaniaa varten. Suurimman osan
> vahingoista kyseinen tarkistus kyllä huomaa, mutta kaukana se on
> pomminvarmasta. Valonaroilla asioilla liikkuvaa koodaria se taas ei
> juurikaan pitele, etenkin viitenumerokenttä tuottaa erinomaiset
> mahdollisuudet häivyttää tieto vaikkapa tilinumeron tai loppusumman
> vaihtamisesta.
Kysymykseksi jää vain se että miksi ihmeessä sen valonaran koodarin
kannattaisi edes yrittää tähdätä samaan tarkistussummaan kuin mitä
lappussa lukevien tilinumeroiden tai loppusummien perusteella olisi
laskettu? En keksi minkäänlaista perustetta moiseen kikkailuun, eikä
se millään tavalla edes häivytä tietoa noiden vaihtamisesta.
Tuosta voisi saada sellaisen kuvan, että hyvinkin yksi noin parista
tuhannesta huonolaatuisen viivakoodin lukemisesta voisi ohjautua väärälle
tilille.
Tämä ei kuitenkaan pidä paikkaansa, että todennäköisyys saadaan kun vain
lasketaan tarkistussummien variaatioiden kertolaskulla eri tarkistusmäärät.
Pitää hetki myös miettiä sitä että miten se koko viivakoodi yleensä syntyy
ja pitää sisällään. Huonolaatuinen viivakoodi, vaikka jostakin
mustesuihkarista, on huonolaatuista koko pituutensa matkalta. Huonolaatuinen
koodi on lukijalle yhtä käyttökelpoista luettavaa, kuin ihmiselle on jokin
ascii-yläkoodien alueella oleva tekstimössö.
Ihminen tai viivalukija pystyy tunnistamaan merkkejä vain sieltä täältä,
eikä mitään yhtenäistä numerosarjaa löydy. Ja varsinkaan kun sitä
viivakoodin tarkistusnumeroakaan ei pystytä tulkitsemaan, ei tarkistuksen
matchausta varmasti synny.
Viivakoodin tulostusjälki alkaa terävimmästä huippulaadusta jonka kaikki
merkit tulkitaan vaivatta oikein. Ja tulostuslaadun laskiessa alaspäin,
päädytään tilaan jossa ainoatakaan viivakoodin merkkiä a) ei enää tulkita
oikeaksi merkiksi b) ei tulkita miksikään, ei edes vääräksi merkiksi.
Viivakoodissa on 57 merkkiä, tarkistusmerkkeineen. En osaa sanoa millaisella
laskentakaavalla voisi arvioida, yllä olevalla vaihteluvälillä,
tulostusjäljen laadun tarkkuuden mukaan, että mikä voisi olla todennäköisyys
erilaisilla tulostusjäljillä sille että lopputuloksena olisi
pankkitilinumeron vaihtuminen toiseksi.
Äkkiä arvellen tuntuisi että suhteellisen hyvää jälkeä tekevällä laserilla
virheen todennäköisyys olisi korkeampi, kuin nippa nappa luettavaa jälkeä
tekevällä mustesuihkarilla. Tai kenties jokin lasertulostin, jossa olisi
rummulla kahdessa kohdassa heikompi kohta, joka jatkuvasti aiheuttaisi
vaihtelevaa tulostustarkkuutta tietyissa kohdissa viivakoodia.
> Valonaroilla asioilla liikkuvaa koodaria se taas
> ei juurikaan pitele, etenkin viitenumerokenttä tuottaa erinomaiset
> mahdollisuudet häivyttää tieto vaikkapa tilinumeron tai loppusumman
> vaihtamisesta.
Tätä osuutta taas en ymmärrä lainkaan. Viivakoodiahan siis luetaan vaikka
töissä tai kotona viivakoodikynällä, ja tunnistetusta koodista puretaan auki
tilinumerot ja muut tiedot. Joten mistä valonaroista jutuista,
häivyttämisestä ym., ja mihin liittyen, tuossa yllä on kyse?
> Pankkiyhdistys ei näin ota vastuuta tulostamastasi viivakoodista, eli jo
> sinulle kuuluvat maksut menevät heikon viivakoodin takia väärille tilille,
> niin itse selvittelet. Tai ainakin maksat, jos joku muu selvittää.
Matemaattinen todennäköisyys sille että kaikkien tarkistussummien
jälkeen maksu ohjautuisi *väärälle tilille* yksinomaan koodin heikkouden
vuoksi taitaa lähestyä nollaa senverran läheltä että käsi puutuu
desimaalinollia kirjoittaessa..
Eiköhän tuossa ole takana vain se että pankkiyhdistys ohjaa kiukkuisen
asiakkaan palautteet koodin laatijalle niissä tapauksissa joissa
maksuautomaatti ei suostu koodia lukemaan ja tulostus on tehty
sertifioimattomalla tulostimella..
> kappaletta koko 53-numeroista litaniaa varten. Suurimman osan
> vahingoista kyseinen tarkistus kyllä huomaa, mutta kaukana se on
> pomminvarmasta. Valonaroilla asioilla liikkuvaa koodaria se taas ei
> juurikaan pitele,
Käsittääkseni tässä yhteydessä puhutaan edelleen *viivakoodin*
lukuvirheistä eikä tarkoituksella tehdyistä muokkauksista...
Ylipäätään en muista töistä yhtään tapausta jossa viivakoodinlukija
olisi lukenut heikkolaatuistakaan koodia yhdenkään merkin osalta väärin
jos jotain lukutuloksia ylipäätään on koodista saatu aikaan ja
todennäköisyys sille että nuo lukuvirheet vielä muodostaisivat
syntaksiltaan oikenalaiset tarkistussummat on todellakin äärimmäisen pieni.
Tämä ei suoranaisesti liity alkuperäiseen viestiin ollenkaan, mutta
kun täällä näyttää olevan kokemusta asiasta niin kysyisin seuraavaa:
Miten pankkiviivakoodin numerosarja muodostetaan oikeaoppisesti?
Yritimme tehdä sen täysin tuon pankkiviivakoodistandardin mukaisesti,
mutta viivakoodista ei koskaan tullut valmiilla generaattoripalikoilla
(eli jotka generoivat numerosarjasta viivakoodin) oikeanlaista.
Lähinnä viivakoodi poikkesi alku- ja loppumerkkien kohdalla. Molemmat
tarkistussummat saimme laskettua oikein. Kaikki kokeilemamme
viivakoodigeneraattorit ainakin speksien mukaan tukivat Code-128:n set
C:tä.
Se jäi epäselväksi, että miten nuo vakiomerkit (START C, STOP) pitää
ilmaista koodissa? Standardista sai sen käsityksen, että esimerkiksi
START C -merkki tulee kirjoittaa numeroilla 105 ja STOP-merkki
numeroilla 106. Miksi noissa standardin esimerkkitapauksissa on
hakasulut lukujen ympärillä? Pitäisikö luvut enkoodata vielä jotenkin
erikseen?
Riippuu vähän että millaisilla ohjelmatyökaluilla, ja fonttivälineillä
ylipäätään olet tuota viivakoodiasi luomassa. Yleisohje on että et laittele
niitä alku ja loppumerkkejä minnekään, vaan sen viivakoodin piirtävä ja
luova ohjelmakoodi hoitelee itsekseen tuon asian.
Ainoa alkumerkki jonka 128 viivakoodille ikinä tarvitsee laittaa on #208,
#209 tai #210, jolla valitaan 128-fontille joko A,B tai C lisätarkenne.
Koska pankkikoodissa on kyseessä nimenomaan 128C viivakoodi, niin tuo
alkumerkki on aina siis #210. Pankkiviivakoodin datassa itsessään olevat
Pankkiyhdistyksen tarkennelaskennat ovat asia erikseen, ja ne tietenkin
lasket itse sinne.
Imuroi kokeeksi vaikka Barcode Macic demoversio, jolla saat itse luotua ja
tulosteltua testimielessä noita 128C fontteja, ja clipboardin kautta
kopioitua vaikka Wordiin tms.
http://www.digitalcandle.com/software.htm?cmd=1&productid=3
Tällä luotuja ja omia keskenään vertailemalla pitäisi vähitellen päästä
selville, että mikä omassa viivakoodissa on vikana jos ei toimi. Useat
erilaisilla TrueType fonteilla piiretyt pankkiviivakoodit toimivat oman
kokemukseni mukaan olemattoman huonosti.
Ei se nyt silti mahdotonta ole. Kopioin kerran cut&pastella webbisivulta
tilinumeron maksuun, mutta en huomannut että viimeinen numero jäi
puuttumaan. Yhtä numeroa liian lyhyt tilinumero sattui kuitenkin olemaan
sekä olemassa että tarkistussumman suhteen oikein ja maksu päätyi
väärälle ihmiselle.
[Follarit asetettu kun ei tässä oikein enää lakiasiaa ole.]
--
Plonk-opas: http://www.cs.helsinki.fi/u/jmtapio/plonk-opas.html
Muistuttakoon, että viittessä (kuin myös tilinrossa) on omat
tarkisteensa.
(Nyt olen liian laiska etsimään C128:n speksejä yhdistettyinä noihin
muihin... :( )
--
Money, it's a crime
-------------------------------------------------------------------------------
Mika Reunanen | Homepage:
Mika . Reunanen @ helsinki . fi | http://www.helsinki.fi/~mreunane/
-------------------------------------------------------------------------------
>> Pankkiviivakoodin tarkistuskoodit ovat matemaattisesti varsin
>> kevyttä kamaa.
>>
>> Tilinumeron varmistuskoodi ei kykene havaitsemaan virhettä, jossa
>> kaksi kahden numeron pätkää vaihtavat keskenään paikkaa, jos
>> pätkien
>> väliin jää kahdella jaollinen määrä numeroita, ml 0. Esimerkiksi
>> tileillä 123456-7890123X ja 127856-3490123X on sama
>> tarkistenumero.
>>
>> Viitenumero varmistetaan samankaltaisesti, mutta kolmen ryhmissä
>> eikä kahden kuten tilinumero.
>>
> Muistuttakoon, että viittessä (kuin myös tilinrossa) on omat
> tarkisteensa.
Miksi muistuttaa, kun asiaa on käyty läpi vain muutama rivi aiemmin?
Viitenumeron ja tilinumeron tarkistusalgoritmit ovat todella kevyttä
kamaa. Ne ovat peräisin höyrykoneajalta, jolloin nykyisin tarjolla
olevat menetelmät olisivat olleet kapasiteettisyistä mahdottomia. Ne
huomaavat eräitä pikkuvirheitä, kuten yhden virheellisen numeron tai
kahden numeron vaihtumisen keskenään. Edes kaikkia niitä ei löydetä:
esimerkiksi numeroparit 26 ja 59 ovat numeronäppäimistössä
päällekkäin vain yhden näppäimen siirtymällä ja tuottavat saman
tarkisteen, jos kakkonen on missä tahansa parittomassa positiossa.
Samoin käyttäytyvät parillisesta positiosta alkavat parit 24 ja 57.
Samoin erimittaiset tilinumerot voivat tuottaa vahinkoja.
Esimerkiksi tilinumerot 123456-111111 ja 123456-1111110 ovat
kumpikin kelvollisia, kuten myös esimerkiksi 123456-634773 ja
123456-91634773 ja vaikkapa 423456-711112 ja 423456-71181112.
> Samoin erimittaiset tilinumerot voivat tuottaa vahinkoja.
Tuossa on käynyt varmaan suunnittelijoille vahinko. Eivät ole muistaneet,
että tilinumeron pituus on yksi tärkeä tarkiste.
Miten se voi olla tärkeä tarkiste kun tilinumeroita on vaihtelevan pituisia.
Johan se syy esitettiin. Yksi virhelyönti kelpaa tuolle tarkisteelle.
Ylimääräinen virhelyönti on ihan tavallinen virhe ja niitä tapahtuu ja niitä
pääsee läpi enemmän kuin on ollut tarkoitus. Numeroiden pituuksissa pitäisi
siis olla enemmän kuin yksi numero eroa tai ne pitäisi olla koodattu niin,
että ylimääräisen numeron lisäksi pitäisi myös näppäillä jokin muu pituutta
indikoiva numero väärin.
Virhe lienee tapahunut jo aikoja sitten. Puuttuvat numerothan täytetään
monesti etunollilla. Virhe on siis se, että etunollia ei vaadita
kirjoittamaan.
Tilinumerot ovat eripituisia vain kosmeettisessa mielessä,
laskutoimitukset tehdään täydellisillä tilinumeroilla, jotka ovat kaikki
samanmittaisia, lyhyempiin tilinumeroihin siis lisäillään väliin
sopivaan kohtaan riittävä määrä nollia, jotta pituudeksi saadaan
muistaakseni 14 numeroa.
Pankkiyhdistys käyttää termejä "tilinumeron selväkielinen muoto" ja
"tilinumeron konekielinen muoto". Pankin asiakkaiden kannalta
tilinumeron pituus siis todellakin on vaihteleva ja myös yhdysviiva
kuuluu tilinumeroon. Tarkistusnumeron laskenta ja muukin
tietojenkäsittely sitten suoritetaan selväkielisestä numerosta
johdetulla luvulla. Täyttäminen 13+1-numeroiseksi luvuksi tehdään
parillakin eri tavalla riippuen siitä, minkä pankkiryhmän tili on
kyseessä.