需要BBC基本密码帮助

时间:2016-01-28 17:43:52

标签: encryption basic

我正在做一个学校项目,在这个项目中,我需要制作一个“类型”的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$

1 个答案:

答案 0 :(得分:0)

您始终可以从大写转换为小写,而Stringlib库包含执行此操作的函数。

首先导入程序顶部的stringlib:

import @lib$+"stringlib"

然后使用:

转换字符串
plaintext$ = fn_lower(plaintext$)