Как проверить (канадский) SIN является подлинным SIN? - PullRequest
0 голосов
/ 19 августа 2009

Канадский SIN эквивалентен американскому SSN.

Я не прошу алгоритм проверить, проходит ли какое-либо из 9-значных чисел подтверждение проверки Luhn .

У меня проблема в том, что некоторые пользователи достаточно умны, чтобы создать поддельный SIN, который может пройти вышеуказанную проверку, но SIN не существует в правительственной базе данных.

Поэтому я спрашиваю, как я могу проверить, является ли данный номер SIN подлинным и фактически выдан правительством Канады. Существуют ли какие-либо базы данных / услуги, которые вы можете получить, или какой-либо специальный алгоритм, который вы используете для проверки этого?

Заранее большое спасибо.

Ответы [ 5 ]

4 голосов
/ 19 августа 2009

Это похоже на данные, которые крайне маловероятны для обнародования. Вам, вероятно, понадобится правительственное агентство, чтобы увидеть список SIN.

Кроме того, как отметил Пол выше, любой алгоритм, который проверяет, является ли SIN возможным кандидатом, также может использоваться для изготовления SIN, которые не являются легитимными посредством грубой силы.

2 голосов
/ 19 августа 2009

Работая с SIN, прежде чем я узнаю, что есть некоторая корреляция с начальными 3 числами SIN и возрастом человека. Кроме того, существуют некоторые правила проверки, например номера кредитных карт (которые вы отметили).

С учетом вышесказанного Почему вы используете номера SIN? Это чрезвычайно важная часть информации - если у вас есть чей-то номер SIN, вы фактически им являетесь и ни при каких обстоятельствах не должны использоваться кем-либо, кроме связанные с правительством цели!

Во-вторых, если у вас есть законное использование номеров SIN, вы знакомы с PIPEDA ? Если нет, то ты должен быть!

2 голосов
/ 19 августа 2009

В качестве дополнительной заметки к ответам Иоанна и Павла. Если есть алгоритм для генерации SIN и базы данных назначенных SIN, вы можете объединить эти два параметра для поиска и найти настоящий SIN в довольно коротком порядке, что позволит вам собрать список всех активных SIN. В стиле псевдокода вы можете использовать ...

foreach(SIN in SINGenerator)
{
    if(govtdatabase.verify(SIN) == true)
    { store into file as valid SIN }
}
1 голос
/ 17 января 2011

Что вы просите для выхода в безопасное функционирование; Ваш клиент должен быть зарегистрирован, чтобы представлять клиента в налоговой корпорации CRA (Канада) или Irs (США). Ваш клиент будет иметь доступ к правительственному сайту. Введите sin по запросу, и он сообщит вам (1), если он действителен, (2), если у вас нет прав на информацию о грехе - косвенная проверка его, или (3) доступ, если вы представляете клиента, который сейчас находится в файле за рассматриваемый грех.

Пожалуйста, обратите внимание, что это не предназначенное использование для правительственного сайта и как таковое может вызвать их гнев, но будет работать.

1 голос
/ 19 августа 2009

Я не знаю о Канаде, но здесь, в Нидерландах, такие веб-сервисы доступны только государственным организациям, страховым компаниям, поставщикам медицинских услуг и т. Д.

Я сейчас работаю с таким сервисом. Это не просто проверка номера. Это позволяет получить имя, адрес, дату рождения и т. Д. На основе числа.

Вряд ли что-то подобное будет публичным. См. Также FAQ по конфиденциальности . Прочитайте это. Он также содержит информацию о действительном использовании SIN.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...