Наверное я не первый кто до этого додумался..., хотелось бы услышать Ваши мнения по поводу целесообразности использования такого алгоритма "шифрования".
А если менять не по 4 бита, а, допустим в некоторой последовательности (например:1-8,2-7,3-6,4-5)?
- Код: Выделить всё
Public function CodeDecode(Inp as byte) as byte
dim inp16 as string
dim inp02 as string
dim out02 as string
dim Out as byte
dim i as integer
inp16=hex$(inp)
if len(inp16)=1 then inp16="0" & inp16
out02=""
'начинаем со второго тетраида
for i=2 to 1 step -1
select case mid$(inp16,i,1)
case "F"
out02=out02 & "1111"
case "E"
out02=out02 & "1110"
case "D"
out02=out02 & "1101"
case "C"
out02=out02 & "1100"
case "B"
out02=out02 & "1011"
case "A"
out02=out02 & "1010"
case "9"
out02=out02 & "1001"
case "8"
out02=out02 & "1000"
case "7"
out02=out02 & "0111"
case "6"
out02=out02 & "0110"
case "5"
out02=out02 & "0101"
case "4"
out02=out02 & "0100"
case "3"
out02=out02 & "0011"
case "2"
out02=out02 & "0010"
case "1"
out02=out02 & "0001"
case "0"
out02=out02 & "0000"
end select
next
out=0
for i=8 to 1 step -1
out=out+ val(mid$(out02,i,1)) * 2^(8-i)
next
CodeDecode=out
End function
Работает правда медленно...