El Imei de un teléfono móvil lo identifica de igual manera que el D.N.I. identifica cada Español.
Pero ¿como saber como un Imei es valido?, la respuesta es el llamado algoritmo de Luhn , dicho algoritmo se utiliza para validar por ejemplo tarjetas de crédito.
Utilizando la implementación en TSQL del este algoritmo lo he adaptado para verificar el Imei de un teléfono móvil.
El siguiente procedimiento es el algoritmo de Luhn
[code language=»sql»]
create procedure luhn
@purportedCC varchar(15),
@resultado int output
as
declare @suma int
declare @nDigits int
declare @digit int
declare @parity int
declare @i int
set @suma=0
set @i=0
set @digit=0
set @resultado=0
set @nDigits=len(@purportedCC)
set @parity=@nDigits % 2
while @i >=@nDigits-1
begin
set @digit=convert(int,substring(@purportedCC,@i+1,1))
if @i % 2 = @parity set @digit=@digit*2
if @digit>9 set @digit=@digit-9
set @suma=@suma+@digit
set @i=@i+1
end
set @resultado=@suma % 10
return (@resultado)
[/code]
Su uso es bastante fácil.