Показать полную графическую версию : Помогите создать Чекер.
TranCrey
12-06-2015, 20:00
Можно ли как то с помощь Алгоритма Луна создать bat-файл проверяющее контрольные суммы,т.е существование кредитных карт
Вот по примеру на сайте http://planetcalc.ru/2465/ (не реклама)
TranCrey
12-06-2015, 20:08
Просто нужно провести то же самое,только не по одному номеру,а сразу 100 к примеру
Пакетный файл — не лучший выбор. Подбирайте отсюда: Luhn algorithm vbscript powershell - Поиск в Google (https://www.google.ru/search?q=Luhn%20algorithm%20vbscript%20powershell).
TranCrey
12-06-2015, 20:55
Пакетный файл — не лучший выбор. Подбирайте отсюда: Luhn algorithm vbscript powershell - Поиск в Google. »
Понимаете просто я ламер,мало что понимаю в vbscript и других сценариях,мне без разницы на какой платформе лиж бы работало,думал может какой уже софт есть,а я найти не могу или кто сможет уже что то рабочее подкинуть.
Понимаете просто я ламер,мало что понимаю… »
Не забывайте регулярно добавлять: «…и не собираюсь ничего в этом отношении менять».
может какой уже софт есть,а я найти не могу или кто сможет уже что то рабочее подкинуть. »
По приведённому запросу поиска на первой же странице Вы найдёте искомое: на PowerShell, на VBScript, на C, на Pascal и прочих языках. Первые два языка хороши тем, что не потребуют от Вас устанавливать языковые среды/компиляторы, компилировать и делать сборку — достаточно скопировать текст кода, вставить его в текстовый файл, дать последнему соответствующее языку расширение и начинать пользоваться.
Поскольку Вы ничего ровным счётом не сказали о том, как должно выглядеть «сразу 100 к примеру» — чего Вы ещё ждёте?
TranCrey
12-06-2015, 21:45
По приведённому запросу поиска на первой же странице Вы найдёте искомое: на PowerShell, на VBScript, на C, на Pascal и прочих языках. Первые два языка хороши тем, что не потребуют от Вас устанавливать языковые среды/компиляторы, компилировать и делать сборку — достаточно скопировать текст кода, вставить его в текстовый файл, дать последнему соответствующее языку расширение и начинать пользоваться.
Поскольку Вы ничего ровным счётом не сказали о том, как должно выглядеть «сразу 100 к примеру» — чего Вы ещё ждёте? »
Извиняюсь если не ясно выразился,к примеру в этом примере http://planetcalc.ru/2465/ с помощью калькулятора можно узнать валидность одного номер карты,мне же нужно что бы таким же способом можно проделать то же самое,только за 1 раз добавить в проверку не 1 номер а сразу 1000,желательно сразу из текстового документа,а в дальнейшем после проверки в окне выводился список тех которые валидны и к какому виду карт принадлежат - visa,mastercard и тд
Вот код этого калькулятора:
/*
Этот код был создан для онлайн сервиса planetcalc.ru пользователем Anton.
Код доступен на условиях лицензии Creative Commons Attribution/Share-Alike License 3.0 (Unported) (by-sa).
Вы можете использовать его (копировать и модифицировать) только с сохранением оригинального лицензионного соглашения,
а также при условии размещения ссылки на оригинальную работу http://planetcalc.ru/2460/.
*/
function Calculate( card, issuers, mii, issuer, valid ) {
var arr = [ ];
for ( var i = 0;
i < issuers.length;
++ i ) {
var iss = issuers[ i ];
if ( ! iss.ranges ) {
continue;
}
var r = new String( iss.ranges ).split( ',' );
for ( var j = 0;
j < r.length;
++ j ) {
var rr = r[ j ].split( '-' );
if ( rr.length == 1 ) {
rr.push( rr[ 0 ] );
}
arr.push( {
"name" : iss.name, "low" : rr[ 0 ], "high" : rr[ 1 ], "length" : iss.length, "validation" : iss.validation
}
);
}
}
arr.sort( function ( a, b ) {
var ldiff = a.low.length - b.low.length;
if ( ldiff != 0 ) {
return ldiff;
}
if ( a.low < b.low ) {
return - 1;
} else if ( a.low == b.low ) {
return 0;
}
return 1;
}
);
var found = false;
for ( var i = arr.length - 1;
i >= 0;
-- i ) {
var iss = arr[ i ];
var prefix = card.substr( 0, iss.low.length );
if ( prefix >= iss.low && prefix <= iss.high ) {
issuer.SetValue( iss.name );
found = true;
break;
}
}
if ( ! found ) {
for ( var i = 0;
i < mii.length;
++ i ) {
var iss = mii[ i ];
if ( card.indexOf( iss.code ) == 0 ) {
issuer.SetValue( iss.name );
break;
}
}
}
var result = Planetcalc.Calculate2461( {
"digits" : card
}
);
valid.SetValue( result.checksum == 0 );
}
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.