共 2 篇文章

标签:html如何得到键盘

深入解析JWT(JSON Web Token)的原理及用法-国外主机测评 - 国外VPS,国外服务器,国外云服务器,测评及优惠码

深入解析JWT(JSON Web Token)的原理及用法

JWT(JSON Web Token)是一种用于身份验证和信息交换的开放标准,它基于一种称为”令牌”的概念,该令牌包含有关用户的信息,例如其ID、角色等,这些信息被加密并编码为一个字符串,然后发送给客户端,客户端可以解码这个字符串以获取其中的信息,而无需向服务器发送敏感数据。,JWT的原理:,1、将用户信息编码为一个JSON对象。,2、使用密钥对JSON对象进行签名,生成一个JWT字符串。,3、将JWT字符串发送给客户端。,4、客户端可以使用相同的密钥对JWT字符串进行解码,以获取其中的用户信息。,JWT的用法:,1、身份验证:当用户登录时,服务器会生成一个JWT字符串,并将其发送给客户端,客户端可以将此JWT字符串存储在本地(例如cookie或localStorage),并在后续请求中将其发送回服务器,服务器可以使用相同的密钥对JWT字符串进行解码,以验证用户的身份。,2、信息交换:服务器可以将一些信息编码到JWT字符串中,并将其发送给客户端,客户端可以解码JWT字符串以获取这些信息,而无需向服务器发送敏感数据。,单元表格:,JWT的优点:,1、安全性:由于JWT包含了加密和签名,因此它可以防止伪造和篡改。,2、无状态:由于JWT包含了所有必要的信息,因此服务器不需要存储任何状态信息,这使得服务器更容易扩展和管理。,3、可移植性:由于JWT是一个通用的标准,因此它可以在不同的应用程序和平台之间共享和使用。, ,

技术分享
c语言怎么输入double类型-国外主机测评 - 国外VPS,国外服务器,国外云服务器,测评及优惠码

c语言怎么输入double类型

在C语言中,输入double类型的数据需要使用scanf函数,scanf函数是C语言中用于从标准输入设备(通常是键盘)读取数据的函数,要输入double类型的数据,我们需要在格式字符串中使用%lf作为占位符。%lf是针对double类型的占位符,而%f是针对float类型的占位符。,下面是一个简单的示例,演示如何在C语言中输入double类型的数据:,在这个示例中,我们首先包含了<stdio.h>头文件,它包含了我们需要的printf和scanf函数,我们定义了一个double类型的变量num,用于存储用户输入的数字,接下来,我们使用printf函数提示用户输入一个double类型的数字,注意,我们在提示信息中没有使用%lf,因为printf函数不需要格式化字符串。,在提示用户输入数字后,我们使用scanf函数读取用户输入的数据,scanf函数的第一个参数是一个格式字符串,其中包含一个%lf占位符,这个占位符表示我们希望从标准输入设备读取一个double类型的数据,第二个参数是一个指向我们要存储用户输入数据的变量的指针,在这个例子中,我们将num的地址传递给scanf函数,这样scanf函数就可以将用户输入的数据存储在num变量中。,我们使用printf函数输出用户输入的数字,注意,我们在格式字符串中使用了%.2lf,表示我们希望输出一个保留两位小数的double类型数字,如果用户输入的数字只有一位小数,那么输出的数字将四舍五入到最接近的整数。,现在,让我们来看一个完整的示例,演示如何在C语言程序中多次输入double类型的数据:,在这个示例中,我们定义了三个double类型的变量num1、num2和num3,用于存储用户输入的三个数字,我们使用scanf函数读取用户输入的三个数字,并将它们分别存储在num1、num2和num3变量中,我们使用printf函数输出用户输入的三个数字。,需要注意的是,在使用scanf函数读取double类型的数据时,我们需要确保输入的数据确实是一个有效的double类型数字,如果用户输入了一个无法转换为double类型的数据(字母或特殊字符),那么程序可能会产生未定义的行为,为了避免这种情况,我们可以在读取数据之前检查用户的输入是否有效,我们可以使用getchar函数读取并丢弃用户输入的第一个字符(即换行符),以确保我们只读取实际的数字部分,修改后的代码如下:,在这个修改后的示例中,我们首先引入了<ctype.h头文件以使用isdigit函数,在读取用户输入的数据之前,我们使用getchar函数读取并丢弃换行符,接下来,我们检查scanf函数的返回值是否为3,以确保我们有, ,#include <stdio.h> int main() { double num; printf(“请输入一个double类型的数字:”); scanf(“%lf”, &num); printf(“你输入的数字是:%.2lf “, num); return 0; },#include <stdio.h> int main() { double num1, num2, num3; printf(“请输入三个double类型的数字:”); scanf(“%lf %lf %lf”, &num1, &num2, &num3); printf(“你输入的数字分别是:%.2lf, %.2lf, %.2lf “, num1, num2, num3); return 0; },#include <stdio.h> #include <ctype.h> // 引入ctype.h头文件以使用isdigit函数 int main() { double num1, num2, num3; printf(“请输入三个double类型的数字:”); getchar(); // 读取并丢弃换行符 if (scanf(“%lf %lf %lf”, &num1, &num2, &num3) != 3) { // 检查是否有三个有效的输入值 printf(“错误:请输入三个有效的double类型数字。 “); return 1; // 返回非零值表示程序出错 } else { printf(“你输入的数字分别是:%.2lf, %.2lf, %.2lf “, num1, num2, num3); } return 0; },

技术分享