我希望使用客户机/服务器在python中创建一个Caesar的密码函数。客户端发送带有密钥的消息,服务器对其进行加密。 服务器代码:
import socket
def getCaesar(message, key):
result=""
for l in message:
if l.isalpha():
num = ord(l)
num += key
if l.isupper():
if num > ord('Z'):
num -= 26
elif num < ord('A'):
num += 26
elif l.islower():
if num > ord('z'):
num -= 26
elif num < ord('a'):
num += 26
result += chr(num)
else:
result += l
return result
serverSock=socket.socket(socket.AF_INET, socket.SOCK_STREAM)
host=socket.gethostname()
port=4000
serverSock.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
serverSock.bind((host,port))
serverSock.listen(5)
print("Listenting for requests")
while True:
s,addr=serverSock.accept()
print("Got connection from ",addr)
print("Receiving...")
message=s.recv(1024)
key=s.recv(1024)
resp=getCaesar(message, key)
print('Ciphertext: ')
print(resp)
serverSock.close()
不断被调用的行是第6行:“if l isalpha():”并给出错误: AttributeError:“int”对象没有属性“isalpha”。 这个错误是什么意思?在
客户端程序:
^{pr2}$
在python3中,^{} 返回一个不可变的序列^{} 。每个元素都有类型} 是}的方法。在
int
,并且在范围[0255]内。^{str
的方法,而不是{如果希望将服务器响应视为字符串,可以对字节进行解码。在
相关问题 更多 >
编程相关推荐