Автор Тема: vin-код  (Прочитано 8088 раз)

Оффлайн Lex

  • Newbie
  • *
  • Сообщений: 74
vin-код
« : Май 30, 2006, 21:33:00 »
Знает ли кто-нибудь как расшифровать vin-код bmw или другой машины? Под словом \"расшифровать\" понимать не описание машины т.е. ее цвет, ттх и прочее, а написать программу или прикинуть алгоритм перегона 17 буквенно-цифенного числа в 12 или 15 буквенно-циферное число и возможностью перегона обратно без потери символов. Все это дело надо реализовать на assembler!
Если есть у кого какие идеи просьба поделиться :roll:

Оффлайн John Doe

  • Люди
  • Jr. Member
  • *****
  • Сообщений: 7 798
    • http://www.hi-net.ru
vin-код
« Ответ #1 : Май 30, 2006, 21:39:49 »
я так понимаю, просто есть вины 17,15, 12 символьные ?
значит надо просто найти описание формата этого кода
а дальше уже как два пальца

Оффлайн Lex

  • Newbie
  • *
  • Сообщений: 74
vin-код
« Ответ #2 : Май 30, 2006, 22:08:38 »
Цитировать
я так понимаю, просто есть вины 17,15, 12 символьные ?
значит надо просто найти описание формата этого кода
а дальше уже как два пальца

Не совсем так вин-это 17 буквенно-циферное число а его нужно \"сжать\" до 12-15 символов, вроде как закодировать и раскодировать обратно!
по vin:
Основные положения и структура VIN, сформулированы в соответствии со стандартом ISO 3779-1983, принятым в феврале 1977 года и описывающим формат VIN от английского Vehicle Identification Number (идентификационный номер транспортного средства).

VIN автотранспорта произведенного в странах принявших международный стандарт представляет собой сочетание арабских цифр и больших букв латинского алфавита :

0 1 2 3 4 5 6 7 8 9
A B C D E F G H J K L M N P R S T U V W X Y Z
Буквы I, O и Q не используются ввиду со схожестью с цифрами 0,1

В состав VIN входят три самостоятельные части:

World Manufacturers Identification (WMI) -мировой индекс изготовителя
Vehicle Description Section (VDI) - описательная часть
Vehicle Identification Section (VIS) - отличительная часть


VIN


WMI VDI VIS
X X X X X X X X X X X X X X X X X
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17



WMI - представляет собой код, назначаемый изготовителю с целью его идентификации. Код состоит из трех символов. Первый символ - это цифра или буква, которая обозначает географический регион (географическому региону в случае необходимости может быть присвоено несколько символов). Второй символ - это цифра или буква, обозначающая страну в географическом регионе. При необходимости стране может быть присвоено несколько символов (например , коды производителей США могут начинаться с цифр 1, 4,5). Третий символ - это буква или цифра, присвоенная национальной организацией определенному производителю автотранспорта. Цифра \"9\" как третий символ должна использоваться производителем, изготавливающим менее 500 автомобилей в год.


VDS - это второй раздел VIN и состоит он из шести символов, описывающих свойства автомобиля. Сами символы, последовательность их расположения и их смысл определяет изготовитель. Обычно используются для обозначения типа автомобиля, его конструкции, типов кузова, двигателя, конструкции привода, рабочего объема двигателя, расположения руля (слева или справа),..., что немаловажно при решении вопроса о подлинности VIN транспортного средства. Неиспользованные позиции изготовитель вправе заполнить выбираемыми по собственному усмотрению символами (наиболее часто \"0\" или \"Z\"). Так, например, VIN автомобиля \"AUDI\", -WAUZZZ89ZHA123456.

Особо отметим девятый символ в маркировки VIN. В соответствии со стандартом ISO 3779, девятый символ VIN отводится для проверочной цифры (Check Digit - 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, а буква Х соответсвует цифре 10). Этому стандарту придерживаются все фирмы, выпускающие автомобили на североамериканский рынок. Эти правила определены Сводом Федеральных Законов США 49 CFR Part 565, §6 © и является единым для всех изготовителей транспортных средств в США. Контрольная цифра расчитывается по особому алгоритму при присвоении номера на заводе. Она получается путем арифметических манипуляций с символами VIN. Проверка правильности VIN позволяет с большой степенью надежности определить перебитый номер, поскольку как правило подделываются \"похожие\" цифры и буквы, а в этом случае затруднительно подогнать новый VIN под проверочную контрольную цифру. Однако, некоторые европейские фирмы, в частности BMW, придерживаются ISO и на европейских автомобилях. Так, например, VIN автомобиля \"BMW\", -WBAHC11010BA23456. Контрольная цифра 1. Проверка правильности данного VIN показала, что VIN изменен. Для данного VIN будет контрольная цифра 9,-(WBAHC11090BA23456).


VIS - это третий раздел VIN и состоит из восьми символов, причем последние четыре символа этого раздела обязательно должны быть цифрами. Если изготовитель пожелает включить в состав VIS обозначение модельного года, рекомендуется помещать обозначение модельного года на первую позицию (десятый символ VIN, как правило -это буква или цифра) . Понятие модельного года отличается от года календарного смещением начала года вперед на три - пять месяцев (у различных производителей). Делается это для того, чтобы изготовленные автомобили имели маркировку текущего года (на момент продажи). Начало модельного года каждым производителем устанавливается по-разному, но чаще за точку отсчета нового (очередного) модельного года принимается 1 октября текущего года. Так, например, завод изготовитель автомобилей Volkswagen Borа, Volkswagen Golf, Volkswagen Passat 01 мая 2002 года приступил к выпуску автомобилей 2003 модельного года.

Одиннадцатый символ VIN (как правило) - это цифра или буква отводится для обозначения сборочного завода данного автомобиля. Так, например,автомобили \"AUDI\", имеют VIN, -WAUZZZ89ZHA123456. Символ \"H\" обозначает модельный год производства автомобиля (1987), а символ \"A\", завод изготовитель (Ingolstadt).

Некоторые производители , например, \"FORD\" (европейский), на месте одиннадцатого символа указывают календарный год, а на на месте двенадцатого символа -месяц выпуска автомобиля.

Год выпуска у некоторых производителей, не принявших международный стандарт, может указываться и на иных местах. Следует также отметить, что многие производители микроавтобусов и грузовых автомобилей присваивают этим транспортным средствам структуру VIN, сходную с легковыми автомобилями. В тоже время производители автомобилей тех стран, которые не приняли международный стандарт в какой либо редакции, используют VIN с меньшим количеством символов. Так, например, автомобили \"MITSUBISHI PAJERO \", собранные в Арабских Эмиратах, имеют VIN из четырнадцати символов,- DONV120SJ00477.

Некоторые производители, например, \"BMW\" на месте одиннадцатого символа VIN указывают завод изготовитель, а на месте двенадцатого символа модельный ряд.

За исключением последних четырех позиций VIN имеет цифровую структуру, обозначающую порядковый производственный номер автомобиля. Так, например, VIN автомобиля \"BMW\", -WBAHC11090BA234569. Символ \"B\" обозначает завод изготовитель (Dingolfing), а символ \"A\", модельный ряд.

VIN должен располагаться в один или два ряда при сохранении одинаковых промежутков между символами. В случае размещения VIN в два ряда, допускается только разделение между собой, каждое из вышеописанных частей VIN (WMI, VDS, VIS). Допускается разделение этих частей символом-разделителем, отличающимся от используемых в обозначениях цифр и букв. Такой символ (горизонтальная черта, звездочка или фирменный символ) помещается часто до, и после VIN или его части, идентифицирующей транспортное средство.

В заключечение этого раздела, раскодируем VIN автомобиля HONDA ACCORD,-1HGCG2250YA600529.

1- Географический регион - США

H- Производитель автомобиля - HONDA

G- Тип транспортного средства - Легковой автомобиль

CG225- Модель - ACCORD EX-V6/2DR CP/4A/2 AIR BAGS

0- Контрольная цифра * - Не совпадает, необходима-1

Y- Модельный год - 2000

A- Сборочный завод - MARYSVILLE, OH (США)

600529- Порядковый производственный номер автомобиля.

Как Вы видите, автомобиль произведен в США (первый символ VIN, цифра 1. Это географический регион, -США), а контрольная цифра \"0\" не совпадает. Причина в следующем. Завод изготовитель, для автомобилей изготовленных на Европейский рынок, не использует девятый символ VIN как контрольная цифра, а ставит символ \"0\". В такой особенности маркировки VIN, может разобраться специалист с большим опытом практической работы.

Оффлайн John Doe

  • Люди
  • Jr. Member
  • *****
  • Сообщений: 7 798
    • http://www.hi-net.ru
vin-код
« Ответ #3 : Май 31, 2006, 01:15:02 »
тогда я не понял - что такое сжать
если каждый символ несет определенную инфу - ты не сможешь так существенно сжать без потерь
его можно сжать до 13 БАЙТ просто выкинув лишние биты

Оффлайн Lex

  • Newbie
  • *
  • Сообщений: 74
vin-код
« Ответ #4 : Май 31, 2006, 08:57:55 »
Цитировать
тогда я не понял - что такое сжать
если каждый символ несет определенную инфу - ты не сможешь так существенно сжать без потерь
его можно сжать до 13 БАЙТ просто выкинув лишние биты

Так что нельзя из 17 сделать 12-15?
Эта программа на assembler занимает порядка 20 строк! А на С++ около 6!

Оффлайн John Doe

  • Люди
  • Jr. Member
  • *****
  • Сообщений: 7 798
    • http://www.hi-net.ru
vin-код
« Ответ #5 : Май 31, 2006, 08:59:30 »
именно СИМВОЛОВ - нельзя, по крайней мере у меня нет идей
БАЙТ - можно

Оффлайн John Doe

  • Люди
  • Jr. Member
  • *****
  • Сообщений: 7 798
    • http://www.hi-net.ru
vin-код
« Ответ #6 : Май 31, 2006, 09:03:27 »
это примерно то-же самое, что исбользуя буквы русского алфавита
сократить слово ПАРАЛЛЕЛЕПИПЕД с 14 до 10 символов. без потери букв

Оффлайн Lex

  • Newbie
  • *
  • Сообщений: 74
vin-код
« Ответ #7 : Май 31, 2006, 09:17:30 »
Цитировать
это примерно то-же самое, что исбользуя буквы русского алфавита
сократить слово ПАРАЛЛЕЛЕПИПЕД с 14 до 10 символов. без потери букв

Да нет же :!: Из слова \"параллелепипед\" сделать слово \"треугольник\",
а потом из \"треугольника\" получить тот же \"параллелепипед\"
Так можно? :roll:

Оффлайн John Doe

  • Люди
  • Jr. Member
  • *****
  • Сообщений: 7 798
    • http://www.hi-net.ru
vin-код
« Ответ #8 : Май 31, 2006, 09:19:04 »
нет конечно :)

Оффлайн Lex

  • Newbie
  • *
  • Сообщений: 74
vin-код
« Ответ #9 : Май 31, 2006, 09:20:20 »
Цитировать
нет конечно

А наш программист(препод) написал и теперь меня заставляет! :cry:

Оффлайн John Doe

  • Люди
  • Jr. Member
  • *****
  • Сообщений: 7 798
    • http://www.hi-net.ru
vin-код
« Ответ #10 : Май 31, 2006, 09:24:04 »
наверное ты просто неверно понял задание :)
или он его тебе неверно выдал :)
одно из двух

Оффлайн Lex

  • Newbie
  • *
  • Сообщений: 74
vin-код
« Ответ #11 : Май 31, 2006, 09:26:59 »
Цитировать
наверное ты просто неверно понял задание
или он его тебе неверно выдал
одно из двух

Да вроде все верно. Фирма BMW это сделали и наш препод помешался на это и нас пресует :oops:

Оффлайн John Doe

  • Люди
  • Jr. Member
  • *****
  • Сообщений: 7 798
    • http://www.hi-net.ru
vin-код
« Ответ #12 : Май 31, 2006, 09:33:07 »
что сделали ? сокращение кода ?
не может такого быть
не поверю, пока не увижу

Оффлайн Lex

  • Newbie
  • *
  • Сообщений: 74
vin-код
« Ответ #13 : Май 31, 2006, 18:39:11 »
Цитировать
что сделали ? сокращение кода ?
не может такого быть
не поверю, пока не увижу

Да из 17 сделали 12 :shock:

Оффлайн milord

  • ЛюдиХ
  • Newbie
  • *
  • Сообщений: 553
vin-код
« Ответ #14 : Май 31, 2006, 20:23:39 »
да там все просто как пареная репа!!!
препод написал прогу в которую загоняются коды , шифруются опеределенным образом, и полученый шифр вывоодится, для более простого варианта чтения характеристик.  потом если нужно с помощью обратного алгоритма восстанавливается исходный id
..если вы до сих пор не сошли с ума, причина чисто техническая: крышу заклинило и она не поехала...

Anonymous

  • Гость
vin-код
« Ответ #15 : Май 31, 2006, 21:46:04 »
Цитировать
да там все просто как пареная репа!!!  
препод написал прогу в которую загоняются коды , шифруются опеределенным образом, и полученый шифр вывоодится, для более простого варианта чтения характеристик.  потом если нужно с помощью обратного алгоритма восстанавливается исходный id

В этом и вопрос как шифровать код чтобы он уменьшился без потери инфы.

Оффлайн John Doe

  • Люди
  • Jr. Member
  • *****
  • Сообщений: 7 798
    • http://www.hi-net.ru
vin-код
« Ответ #16 : Май 31, 2006, 23:09:03 »
НЕ ПО ЛУ ЧИТ СЯ :)
неполучится зажать такой короткий код в той же системе кодирования
0-9 A-Z

Оффлайн milord

  • ЛюдиХ
  • Newbie
  • *
  • Сообщений: 553
vin-код
« Ответ #17 : Июнь 01, 2006, 00:48:31 »
Цитировать
НЕ ПО ЛУ ЧИТ СЯ
неполучится зажать такой короткий код в той же системе кодирования
0-9 A-Z


незнаю что там пишут про 6 или 20 строк.. но исходники этой проги показуют у нас на кафедре в виде рпимера  как надо шифровать и там прога далеко не 20 строк
..если вы до сих пор не сошли с ума, причина чисто техническая: крышу заклинило и она не поехала...

Оффлайн John Doe

  • Люди
  • Jr. Member
  • *****
  • Сообщений: 7 798
    • http://www.hi-net.ru
vin-код
« Ответ #18 : Июнь 01, 2006, 00:53:03 »
а простите причем тут шифрование вообще ?
вопрос то был в том чтоб сжать до 12 символов и разжать до 17 не потеряв инфу

Оффлайн SnoopDogg

  • ЛюдиХ
  • Newbie
  • *
  • Сообщений: 636
vin-код
« Ответ #19 : Июнь 01, 2006, 20:02:14 »
Цитировать
НЕ ПО ЛУ ЧИТ СЯ :)
неполучится зажать такой короткий код в той же системе кодирования
0-9 A-Z

Как это не получится? А Хемминг, Хаффман?
Мы на экзамене укорачивали различные слова, не все конечно укорачиваются, но всё-же...
И потом 17 символов это не мало чтобы было где разгуляться.
И не забудьте взять с собой полотенце!Пыхнуть хотите?