我正在做一个学校项目,在这个项目中,我需要制作一个“类型”的vigenere密码,用户可以在其中输入关键字和明文。然而,vigenere假定a = 0而我假设a = 1并且我已经相应地改变了我的程序。然而,我需要让我的密码适用于大小写,我怎么能使这也适用于小写,这可能是一个愚蠢的问题,但我现在很困惑,我是编程的新手,感谢。
REM Variables
plaintext$=""
PRINT "Enter the text you would like to encrypt"
INPUT plaintext$
keyword$=""
PRINT "Enter the keyword you wish to use"
INPUT keyword$
encrypted$= FNencrypt(plaintext$, keyword$)
REM PRINTING OUTPUTS
PRINT "Key = " keyword$
PRINT "Plaintext = " plaintext$
PRINT "Encrypted = " encrypted$
PRINT "Decrypted = " FNdecrypt(encrypted$, keyword$)
END
DEF FNencrypt(plain$, keyword$)
LOCAL i%, offset%, Ascii%, output$
FOR i% = 1 TO LEN(plain$)
Ascii% = ASCMID$(plain$, i%)
IF Ascii% >= 65 IF Ascii% <= 90 THEN
output$ += CHR$((66 + (Ascii% + ASCMID$(keyword$, offset%+1)) MOD 26))
ENDIF
offset% = (offset% + 1) MOD LEN(keyword$)
NEXT
= output$
DEF FNdecrypt(encrypted$, keyword$)
LOCAL i%, offset%, n%, o$
FOR i% = 1 TO LEN(encrypted$)
n% = ASCMID$(encrypted$, i%)
o$ += CHR$(64 + (n% + 26 - ASCMID$(keyword$, offset%+1)) MOD 26)
offset% = (offset% + 1) MOD LEN(keyword$)
NEXT
= output$
答案 0 :(得分:0)
您始终可以从大写转换为小写,而Stringlib库包含执行此操作的函数。
首先导入程序顶部的stringlib:
import @lib$+"stringlib"
然后使用:
转换字符串plaintext$ = fn_lower(plaintext$)