①设置开机密码 ②使用应用加密 ③设置手势密码 ④备份数据
A、数据加密 B、响应 C、监控 D、检测
1)将该字符的ASCII码转换成对应的2位十六进制数;
2)将产生的十六进制数互换位置;
3)步骤(2)产生的二位十六进制数即为该明文字符加密后的密文字符。
小明按照上述方法,设计了一个字符串加密的VB程序,功能如下:单击“生成密文”按钮Command1,程序依次将文本框Text1中每个字符按上述规则进行加密处理,连接这些加密字符,最后在文本框Text2中输出加密结果。程序运行界面如图所示

实现上述功能的VB程序如下:
Private Sub Command1_ Click()
Dim s As String, a As String, ans As String
Dim c As Integer, i As Integer
Dim c1 As Integer, c2 As Integer
Dim d1 As String, d2 As String
s= Text1. Text
ans =“”
For i=1 To Len(s)
a=Mid(s, i, 1)
c= Asc(a)
c1=c \16
c2= ①
d1= Mid(Str(c1), 2, 1) '使用Str(c1)将在字符c1前增加一个空字符
If c2>>=10 Then ② Else d2 = Mid(Str(c2), 2, 1)
ans= ③
Next i
Text2. Text= ans
End Sub
① ② ③
|
图1 |
图2 |
图3 |
选择加密时,在明文文本框中输入明文,点击“加密”按钮,网页显示密文与对应的密钥。加密规则为打乱明文对应的索引作为密钥,再利用该索引逐个取明文字符连接成密文,例如:明文为“信息技术”,若被打乱的索引为[2,0,1,3],则密文为“技信息术”,密钥为“2,0,1,3”
选择解密时,在密文文本框中输入密文,密钥文本框输入密钥,点击“解密”按钮,网页显示明文。
from flask import render_template,request,Flask
import random
app=Flask(__name__) #创建应用实例
@app.route('/') #选择页面路由
def index():
return render_template('')
#加密功能代码略,以下为解密代码:
@app.route('/jiemi1/',methods=["GET","POST"])
def jiemi1():
wb=request.form["wb"] #利用request获取网页文本框内容,返回示例:“1,4,2,3,0”
keyo=request.form["key"] #变量wb存储密文,变量keyo存储密钥
keyn=list(map(int,keyo.split(","))) #将字符串keyo转换为数值列表,示例:[1,4,2,3,0]
result=""
for i in range(len(keyn)):
for j in range(len(keyn)):
if :
break
result+=wb[j]
return render_template("jie.html",WB=wb,KEY=keyo,RESULT=result)
if __name__=="__main__":
def cal(lst): #计算样本lst的信息熵
x,y,z=0,len(lst),0 #x表示该样本信息熵,y表示该样本数量,z表示某信息发生的概率
num={}
for i in lst:
if i not in num:
num[i]+=1
for k in num:
z=num[k]/y #计算该信息发生的概率
x-=z*log(z,2) #根据公式计算信息熵,log(b,a)等价于logab
return x
def check(x,y):
#根据节点x,对样本y进行划分,返回示例:{'否': [1, 1, 0, 0, 1, 1, 1, 1], '是': [1, 1, 0, 1, 0, 0]}
dic={'是否有风': ['否', '否', '否', '否', '否', '否', '否', '否', '是', '是', '是', '是', '是', '是'],
'天气': ['多云', '多云', '晴', '晴', '晴', '雨', '雨', '雨', '多云', '多云', '晴', '晴', '雨', '雨'],
'温度': [28, 27, 29, 22, 21, 21, 20, 24, 18, 22, 26, 24, 18, 21],
'湿度': [78, 75, 85, 90, 68, 96, 80, 80, 65, 90, 88, 63, 70, 80],
'是否前往': [1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 0, 1, 0, 0]}
xm=list(dic.keys())
entropy=cal(dic[xm[-1]]) #调用函数计算样本原始信息熵entropy
#计算各节点信息增益
m=0;p=""
col=xm[:-1] #“是否前往”是结果项,不参与计算
for i in col:
size=len(dic[i]);entropy_1=0
zyb= #调用函数对样本按照当前节点进行划分
for j in zyb: #根据划分情况逐个求子样本信息熵并按比例累加
entropy_1+=len(zyb[j])/size*cal(zyb[j])
zy=entropy-entropy_1
print(i,"的信息增益:",zy)
if zy>m: #计算最大信息增益与信息增益最大的节点
m=zy
print("信息增益最大的节点:",p)
⑴将明码中每个ASCII字符的8位二进制内码分成两段,如字符“C”的8位二进制内码为01000011,分段后为0100,0011。
⑵将左边4位左移1位,将原第1位数码移到第4位,并转化为十六进制。如0100,移动后为1000,转化为十六进制为8。
⑶将右边4位按步骤(2)算法进行处理。
⑷从左到右连接两位十六进制数,得到该字符的密文。如字符“C”的密文为86。
按此加密算法,字符“A"的密文是( )
①该信息系统由硬件、软件、数据、通信⽹络和⽤户构成
②该信息系统的数据主要存储在智能终端⾥
③该信息系统采⽤了B/S架构
④该信息系统对外部环境有依赖性
①温度传感器 ②湿度传感器 ③声⾳传感器 ④光线传感器 ⑤⽓体传感器