¿El IMEI de mi telefono es correcto? (Algoritmo de Luhn)?

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.

Comments are closed.

Google+