En lenguaje simple, el algoritmo de cifrado solo debe solicitarse como parámetro del código fuente del lenguaje simple del algoritmo rc4. En lugar de utilizar el comando cifrar datos, utilice.
. Subrutina ?Cifrar como rc4,? tipo de texto,? público,? Utilizar el algoritmo RC4 para cifrar texto
. Parámetros datos cifrados, tipo de texto,?texto a cifrar
. ¿parámetro? Clave de cifrado, tipo de texto, vacío, contraseña utilizada para el cifrado
. ¿Variables locales? Conjunto de bytes
. Variable local s, conjunto de bytes, "256"
. Variables locales ?k,? tipo de byte, ?,?" 256"
. ¿Variable local?i,?Entero
.Variable local?¿Entero?
. ? Texto
. ¿Variables locales? >
.¿Variable local?aaa,?tipo de texto
¿Variable temporal?= ?tobyteset?(texto)
. El primer ciclo de conteo (256,?i)
s[i]? = ?i?-?1
. ()
j?=?1
. ¿Calcular el primero del bucle? (256,?i)
. Si es verdadero, entonces el primer bucle es un bucle. (j?> ?Obtener longitud del texto? (contraseña))
j?=?1
. Si es verdadero, finalice
k[i]=?¿Obtener contraseña? (Toma la parte media del texto)
[i]?(código,?j,?1),?
j?=?j?+?1
. ¿Al final del ciclo de conteo?()
j?=?0
. ¿Contando el primero del bucle? (256,?i)
j?=?(j? +?s?[i]? +?k?[i])? %?256?+?1
temp?=?s?[i]
s?[i]? =?s?[j]
s?[j] =?temp
.¿Calcular la hora de finalización del ciclo? ()
i?=?0
j?=?0
. ¿Calcular el bucle primero? (¿Obtener la longitud del conjunto de bytes? (temporal),?x)
i?(i?+?1)?%?256?+?1
j?= ?( j?+?s?[i])? %?256?+?1
temp?=?s?[i]
s?[i]? ?s ?[j]
s?[j]? =?temp
t?=?(s[i]? + ?s[j]? %?256) ?% ?256?+?1
y?=?s?[t]
aaa?=?a texto hexadecimal? (bit a bit diferente o ? (¿temporal? [x],?y))
outstr?=?outstr?+?select? (¿Tomar longitud del texto? (aaa)?>1,? "",? "0")?+?aaa?+?","
. ¿Contar al final del ciclo? ()
devuelve ?(outstr)
. Convierte subrutina a texto hexadecimal, tipo de texto
.
¿Valor del parámetro, número entero?
¿Devolución? Selección múltiple (¿desplazamiento a la derecha? (número,?) +? 1,? "0",? "1",? "2",? "3",? "4",? "5",? "6", ? "7",? "8",? "e",? "f")? ? (Bit a bit versus (valor,?15)?+?1,? "0",? "1",? "2",? "3",? "4",? "5",? "6", ? "7",? "8",? "E",? "F"))