计算机网络安全技术学习总结

2023-11-19

计算机网络安全C

1 绪论

网络安全的定义

网络系统中的软件硬件和系统储存和传输的数据不因偶然或者恶意的原因遭到破坏篡改泄露,网络系统连续可靠正常地运行,网络服务不中断。
属性:机密性,完整性,可用性,可控性,真实性(机密性,完整性,可用性为CIA三要素)

模型:

在这里插入图片描述

攻击手段:

降级、瓦解、拒绝、摧毁计算机或计算机网络中的信息资源,或者降级、瓦解、拒绝、摧毁计算机或计算机网络本身的行为。

攻击方式:

主动攻击(伪装、重放、消息篡改和拒绝服务)被动攻击(信息收集,流量分析)

安全服务

通信开放系统协议层提供的服务,从而保证系统或数据传输有足够的安全性

安全机制

特定安全机制

可以并人适当的协议层以提供一些OSI安全服务
加密
数字签名
访问控制
数据完整性
认证交换
流量填充
路由控制
公证

普遍的安全机制

不局限于任何OSI安全服务或协议层的机制
可信功能,安全标签,事件检侧,安全审计跟踪,安全恢复

认识Internet上的严峻的安全形势并深入分析其根源

造成Internet安全问题的主要原因
1系统脆弱性

计算机软件的不安全因素
操作系统和应用软件的缺省安装
没有口令或使用弱口令的账号
大量打开的端口
没有过滤伪地址包

2自然灾害

由于自然灾害等不可抗力造成资源损失

3网络建造的历史原因

互联网前身为ARPANET,为预防核战争对军事指挥系统的毁灭性打击提出的研究课题
后从军事用途中分离出去,单纯在科研教育的校园环境中解决互联互通的技术课题
互联网从校园环境走上了市场商用

2,网络协议基础

了解网络体系结构各层的功能

物理层:接受识别比特流
数据链路层:处理和传输电缆的物理接口细节(在这里插入图片描述

网络层(负责处理分组在网络中的活动,例如分组的选路)
传输层:在两个主机间的通信中提供传输服务
应用层:定义应用进程间通信和交互的规则,负责通过应用进程间的交互来完成特定网络应用
传输层主要是提供端到端的通信。注意和网络层任务的区别。在TCP/IP协议族中,网络层提供的是一种不可靠的服务,尽可能快的把分组从源节点送到目的节点,并不提供可靠性保证。而传输层需要提供一种可靠的服务

ARP、TCP、HTTP安全问题

ARP

根据ip地址获取物理地址的tcp/ip协议
主机发送信息时将包含目标ip地址的arp请求广播到网络上所有主机,并接收返回的arp应答(广播请求 单播回应),以此确定目标的物理地址
arp窃听:由于arp请求将通过交换机或集线器以广播形式发送,因此网络行主机均可受到该请求,从而受到窃听,再进一步发动网络攻击(网络拓扑绘制 拒绝服务)
arp欺骗:发送错误ip-mac映射对,以使得主机找不到正确的ip-mac地址映射

TCP

1.syn泛洪:反复发送syn请求,并忽略主机b确认
2. land攻击:将源目的地址都设置位服务器地址,服务器自我连接,达到小号服务器资源以达到拒绝服务攻击
3. 序列号预测攻击:攻击者猜中接收方序列号,发送rst消息达到拒绝服务攻击的目的
4. ack泛洪攻击:在建立连接后反复发送请求连接消息或伪造被攻击者ip地址进行访问,让对方忙于查表,从而达到拒绝式服务攻击

HTTP

钓鱼攻击:伪造某个网站使得某种方式让访问者信任该假网站,以获取用户信息
跨站(会话)脚本攻击:攻击者向服务器发送攻击脚本(小程序,可以被浏览器解释执行),从而获取用户数据或破坏系统。
常发生在:论坛允许提交信息时,产品评论、售后评价等允许提交信息时、社交网络应用等允许用户发消息、讨论、评价时,攻击者将脚本发送的服务器中。
攻击条件:允许用户输入信息的web应用,用户输入数据可用于动态生成的页面,用户输入未作合法性验证。
分类:
持久性跨站:攻击数据存放于服务器,当用户正常访问网页时,服务端会将恶意指令夹杂在正常网页中传回给用户
非持久性跨站:恶意脚本程序在受害者请求http后得到一个即可响应时执行
文档对象攻击:客户端脚本(js)动态生成html时,若没有严格检查和过滤参数,则可以导致攻击者利用dom进行跨站攻击。

对ICMP协议的利用

ping

ICMP的一个典型应用是Ping。 Ping是检测网络连通性的常用工具,同时也能够收集其他相关信息。用户可以在Ping命令中指定丌同参数,如ICMP报文长度、 发送的ICMP报文个数、 等待回复响应的超时时间等,设备根据配置的参数来构造并发送ICMP报文,迚行Ping测试。

tracert

ICMP的另一个典型应用是Tracert。Tracert基于报文头中的TTL值来逐跳跟踪报文的转发路径。 为了跟踪到达某特定目的地址的路径,源端首先将报文的TTL值设置为1。 该报文到达***个节点后,TTL超时,于是该节点向源端发送TTL超时消息,消息中携带时间戳。 然后源端将报文的TTL值设置为2,报文到达第二个节点后超时,该节点同样返回TTL超时消息,以此类推,直到报文到达目的地。 这样,源端根据返回的报文中的信息可以跟踪到报文经过的每一个节点,并根据时间戳信息计算往返时间。 Tracert是检测网络丢包及时延的有效手段,同时可以帮助管理员发现网络中的路由环路。

3 密码学在网络安全中的应用

对称密码体制/非对称密码体制

一、对称加密 (Symmetric Key Encryption)

对称加密是最快速、最简单的一种加密方式,加密(encryption)与解密(decryption)用的是同样的密钥(secret key)。对称加密有很多种算法,由于它效率很高,所以被广泛使用在很多加密协议的核心当中。自1977年美国颁布DES(Data Encryption Standard)密码算法作为美国数据加密标准以来,对称密码体制迅速发展,得到了世界各国的关注和普遍应用。对称密码体制从工作方式上可以分为分组加密和序列密码两大类。

对称加密算法的优点:算法公开、计算量小、加密速度快、加密效率高。

对称加密算法的缺点:交易双方都使用同样钥匙,安全性得不到保证。此外,每对用户每次使用对称加密算法时,都需要使用其他人不知道的惟一钥匙,这会使得发收信双方所拥有的钥匙数量呈几何级数增长,密钥管理成为用户的负担。对称加密算法在分布式网络系统上使用较为困难,主要是因为密钥管理困难,使用成本较高。而与公开密钥加密算法比起来,对称加密算法能够提供加密和认证却缺乏了签名功能,使得使用范围有所缩小。

对称加密通常使用的是相对较小的密钥,一般小于256 bit。因为密钥越大,加密越强,但加密与解密的过程越慢。如果你只用1 bit来做这个密钥,那黑客们可以先试着用0来解密,不行的话就再用1解;但如果你的密钥有1 MB大,黑客们可能永远也无法破解,但加密和解密的过程要花费很长的时间。密钥的大小既要照顾到安全性,也要照顾到效率,是一个trade-off。

分组密码:也叫块加密(block cyphers),一次加密明文中的一个块。是将明文按一定的位长分组,明文组经过加密运算得到密文组,密文组经过解密运算(加密运算的逆运算),还原成明文组,有 ECB、CBC、CFB、OFB 四种工作模式。

序列密码:也叫流加密(stream cyphers),一次加密明文中的一个位。是指利用少量的密钥(制乱元素)通过某种复杂的运算(密码算法)产生大量的伪随机位流,用于对明文位流的加密。解密是指用同样的密钥和密码算法及与加密相同的伪随机位流,用以还原明文位流。

常用对称加密算法包括 DES、3DES、AES

  1. DES(Data Encryption Standard):数据加密标准,速度较快,适用于加密大量数据的场合。
  2. 3DES(Triple DES):是基于DES,对一块数据用三个不同的密钥进行三次加密,强度更高。
  3. AES(Advanced Encryption Standard):高级加密标准,是下一代的加密算法标准,速度快,安全级别高,支持128、192、256、512位密钥的加密。

算法特征

  1. 加密方和解密方使用同一个密钥。
  2. 加密解密的速度比较快,适合数据比较长时的使用。
  3. 密钥传输的过程不安全,且容易被破解,密钥管理也比较麻烦

二、非对称加密(Asymmetric Key Encryption)

非对称加密为数据的加密与解密提供了一个非常安全的方法,它使用了一对密钥,公钥(public key)和私钥(private key)。私钥只能由一方安全保管,不能外泄,而公钥则可以发给任何请求它的人。非对称加密使用这对密钥中的一个进行加密,而解密则需要另一个密钥。比如,你向银行请求公钥,银行将公钥发给你,你使用公钥对消息加密,那么只有私钥的持有人–银行才能对你的消息解密。与对称加密不同的是,银行不需要将私钥通过网络发送出去,因此安全性大大提高。

非对称加密算法的优点:安全性更高,公钥是公开的,秘钥是自己保存的,不需要将私钥给别人。

非对称加密算法的缺点:加密和解密花费时间长、速度慢,只适合对少量数据进行加密。

对称加密算法相比非对称加密算法来说,加解密的效率要高得多。但是缺陷在于对于秘钥的管理上,以及在非安全信道中通讯时,密钥交换的安全性不能保障。所以在实际的网络环境中,会将两者混合使用。

非对称加密算法包括 RSA、Elgamal、背包算法、Rabin、D-H、ECC(椭圆曲线加密算法),常见的有RSA、ECC。

混合加密体制

混合密码体bai制指用公钥密码加du密一个用于zhi对称加密的短期密码,再dao由这个短期密码在对称加zhuan密体制下shu加密实际需要安全传输的数据。最初混合密码体制的使用仅限于从执行效率方面进行考虑,直到2000年Cramer和Shoup提出了KEM-DEM结构的混合加密体制,使得混合密码体制成为一种解决IND-CCA安全而且实际的公钥密码体制

数字签名

数字签名的作用:防止通信双方之间的欺骗和抵赖行为
数字签名(Digital Signature, DS),是指附加在某一电子文档中的一组特定的符号或代码
对电子文档进行关键信息提取,并通过某种密码运算生成一系列符号及代码组成电子密码进行签名,来代替书写签名或印章
数字签名的功能
防抵赖:发送者事后不能否认
防篡改:接收者不能对发送者的消息进行部分篡改
防伪造:接收方不能伪造消息并声称来自对方
防冒充(身份认证):验证网络实体的身份

密钥管理

密钥管理流程 ·
(1)密钥生成
(2)密钥分发
(3)验证密钥
(4)更新密钥
(5)密钥存储
(6)备份密钥
(7)密钥有效期
(8)销毁密钥
(9)公开密钥的密钥管理

4.消息鉴别与身份认证

认证分为哪两大类

用户与主机之间的认证
主机与主机之间的认证

消息鉴别协议的核心——鉴别函数

鉴别算法:底层实现的一项基本功能
鉴别功能要求底层必须实现某种能生成鉴别标识的算法
鉴别标识(鉴别符)是一个用于消息鉴别的特征值
鉴别标识的生成算法用一个生成函数f来实现,称为鉴别函数
鉴别协议
接收方用该协议来完成消息合法性鉴别的操作
认证协议调用底层的认证算法(鉴别函数),来验证消息的真实性
鉴别函数f是决定认证(鉴别)系统特性的主要因素

如何利用鉴别函数构造鉴别协议

一个简单的消息认证实例:一个短的字符串V追加到消息M之后,用以认证该消息
发送方: M || V
接收方: M || V,判断Yes/No
这个V可以是:
消息加密函数:用完整信息的密文作为对信息的认证
消息认证码:是密钥和消息的公开函数,产生一个固定长度的值作为认证标识
散列函数:是一个公开的函数,将任意长度的消息映射成一个固定长度的串,作为认证值

身份认证的概念、有哪些常用的身份认证方式,分析其优缺点

概念:身份认证是计算机及网络系统识别操作者身份的过程
常用的身份认证方式
1 用户名/口令方式 优点:简单易行 缺点:易泄露,极其不安全
2 IC卡认证 优点:简单易行 缺点:IC卡中读取的数据还是静态的,通过内存扫描或网络监听等技术还是很容易截取到用户的身份验证信息
3 USB key认证 优点:安全可靠,成本低廉 缺点:依赖硬件安全性
4 生物特征认证 优点:安全性最高 缺点:技术不成熟,准确性和稳定性有待提高
5 动态口令 优点:一次一密,较高安全性 缺点:使用繁琐可能造成新的安全漏洞
基于挑战应答/KDC方式的认证的作用
设计一个满足安全要求的认证协议*

Kerberos系统

Kerberos:一种基于对称密钥、在网络上实施身份认证的服务
身份认证作为网络上一种标准的安全服务来提供
能够实现用户和服务器之间的双向认证
集中式的认证服务
通过运行在网络中某个安全节点的密钥分发中心(KDC,又称为认证服务器)提供认证服务
用户能够用用户名和口令登录工作站,工作站使用用户名和口令与KDC联系,代替用户获得使用远程资源所需要的信息
特征:
提供一种基于可信第三方的认证服务
KDC作为第三方,若用户与服务器都信任KDC,则Kerberos就可以实现用户与服务器之间的双向鉴别。如果KDC是安全的,并且协议没有漏洞,则认证是安全的
安全性
能够有效防止攻击者假冒合法用户
可靠性
Kerberos服务自身可采用分布式结构,KDC之间互相备份
透明性
用户只需要提供用户名和口令,工作站代替用户实施认证的过程
可伸缩性
能够支持大量用户和服务器

PKI技术

定义

PKI(Public Key Infrastructure,公钥基础设施),是一个基于公钥概念和技术实现的、具有通用性的安全基础设施。
PKI公钥基础设施的主要任务是在开放环境中为开放性业务提供公钥加密和数字签名服务。
PKI是生成、管理、存储、分发和吊销基于公钥密码学的公钥证书所需要的硬件、软件、人员、策略和规程的总和。

PKI提供的服务

数据传输的机密性(避免被截获)
数据交换的完整性(避免被篡改)
发送信息的不可否认性(避免事后不承认)
交易者身份的确定性(避免被假冒)

5 Internet安全

各层协议的安全

网络层安全性

IPSE
在这里插入图片描述

传输层安全性

SSL
在这里插入图片描述

应用层

PGP
在这里插入图片描述

IPSec的思想、实现的目的、工作过程(AH和ESP)、工作模式、功能、密钥管理

IPSec使用两个不同的协议:AH协议和ESP协议来保证通信的认证、完整性和机密性
IP头部认证(AH)提供无连接的完整性验证、数据源认证、选择性抗重放服务
封装安全负载(ESP)提供加密保障,完整性验证、数据源认证、抗重放服务
IPSec的两种工作模式
传输模式:用于主机到主机之间的直接通信
隧道模式:用于主机到网关或网关到网关之间
传输模式和隧道模式主要在数据包封装时有所不同
传输模式下的AH
AH头插入到IP头部之后、传输层协议之前
验证范围整个IP包,可变字段除外
与NAT冲突,不能同时使用
隧道模式下的AH
AH插入到原始IP头部之前,然后在AH外面再封装一个新的IP头部
验证范围整个IP包,也和NAT冲突
传输模式ESP
保护内容是IP包的载荷(如TCP、UDP、ICMP等)
ESP插入到IP头部之后,传输层协议之前
验证和加密范围不是整个IP包
隧道模式下ESP
保护的内容是整个IP包,对整个IP包加密
ESP插入到原始IP头部前,在ESP外再封装新的IP头部

SSL/SET的思想

SSL 的英文全称是 “Secure Sockets Layer” ,中文名为 “ 安全套接层协议层 ” ,它是网景( Netscape )公司提出的基于 WEB 应用的安全协议。 SSL 协议指定了一种在应用程序协议(如 HTTP 、 Telenet 、 NMTP 和 FTP 等)和 TCP/IP 协议之间提供数据安全性分层的机制,它为 TCP/IP 连接提供数据加密、服务器认证、消息完整性以及可选的客户机认证。
VPN SSL 200 设备网关适合应用于中小企业规模,满足其企业移动用户、分支机构、供应商、合作伙伴等企业资源(如基于 Web 的应用、企业邮件系统、文件服务器、 C/S 应用系统等)安全接入服务。企业利用自身的网络平台,创建一个增强安全性的企业私有网络。 SSL VPN 客户端的应用是基于标准 Web 浏览器内置的加密套件与服务器协议出相应的加密方法,即经过授权用户只要能上网就能够通过浏览器接入服务器建立 SSL 安全隧道
SSL 的英文全称是 “Secure Sockets Layer” ,中文名为 “ 安全套接层协议层 ” ,它是网景( Netscape )公司提出的基于 WEB 应用的安全协议。 SSL 协议指定了一种在应用程序协议(如 HTTP 、 Telenet 、 NMTP 和 FTP 等)和 TCP/IP 协议之间提供数据安全性分层的机制,它为 TCP/IP 连接提供数据加密、服务器认证、消息完整性以及可选的客户机认证。
VPN SSL 200 设备网关适合应用于中小企业规模,满足其企业移动用户、分支机构、供应商、合作伙伴等企业资源(如基于 Web 的应用、企业邮件系统、文件服务器、 C/S 应用系统等)安全接入服务。企业利用自身的网络平台,创建一个增强安全性的企业私有网络。 SSL VPN 客户端的应用是基于标准 Web 浏览器内置的加密套件与服务器协议出相应的加密方法,即经过授权用户只要能上网就能够通过浏览器接入服务器建立 SSL 安全隧道

PGP技术

提供的服务:

smtp

如何实现上述服务

发送方:
产生消息M
用SHA-1对M生成一个160位的散列码H
用发送者的私钥对H签名,该签名值与M连接
接收方:
用发送者的公钥对签名值进行验证操作,恢复H
对消息M生成一个新的散列码H’,与H比较。如果一致,则消息M被认证

常用的欺骗技术

ARP欺骗

1.ARP协议:ARP(Address Resolution Protocol,地址解析协议)是一个位于TCP/IP协议栈中的网络层,负责将某个IP地址解析成对应的MAC地址。

2.ARP协议的基本功能:通过目标设备的IP地址,查询目标设备的MAC地址,以保证通信的进行。

  1. ARP攻击的局限性:ARP攻击仅能在局域网进行,无法对外网进行攻击。

  2. ARP攻击的攻击原理:ARP攻击就是通过伪造IP地址和MAC地址实现ARP欺骗,能够在网络中产生大量的ARP通信量使网络阻塞,攻击者只要持续不断的发出伪造的ARP响应包就能更改目标主机ARP缓存中的IP-MAC条目,造成网络中断或中间人攻击。

5.常见的ARP欺骗手法:同时对局域网内的一台主机和网关进行ARP欺骗,更改这台主机和网关的ARP缓存表

IP欺骗

最基本的IP欺骗技术有三种,这三种IP欺骗技术都是早期使用,原理比较简单,效果也十分有限
基本地址变化
使用源站选路截取数据包
利用Unix机器上的信任关系

基本地址变化
IP欺骗包括把一台计算机伪装成别人机器的IP地址的这种情况,所以IP欺骗最基本的方法是搞清楚一个网络的配置,然后改变自己的IP地址
这样做就可以使所有发送的数据包都带有假冒的源地址

源站选路(源路由攻击)
基本地址变化方法没法接收返回的信息流,为了得到从目的主机返回源地址主机的数据流,有两个方法
攻击者插入到正常情况下数据流经过的通路上
保证数据包会经过一条给定的路径,保证它经过攻击者的机器

利用信任关系
在UNIX世界中,利用信任关系可以使机器之间的切换变得更加容易,特别是在进行系统管理的时候
单位里经常指定一个管理员管理几十个区域或者甚至上百台机器。管理员一般会使用信任关系和UNIX的r命令从一个系统方便的切换到另一个系统。 r命令允许一个人登录远程机器而不必提供口令
取代询问用户名和口令,远程机器基本上使用IP地址来进行验证,也就是说将会认可来自可信IP地址的任何人

6 防火墙技术

防火墙的过滤机制和安全策略

防火墙是位于两个(或多个)网络间,实施网间访问控制的组件集合,通过建立一整套规则和策略来监测、限制、更改跨越防火墙的数据流,达到保护内部网络的目的
防火墙的设计目标
内部和外部之间的所有网络数据流必须经过防火墙;
只有符合安全政策的数据流才能通过防火墙;
防火墙自身能抗攻击;
防火墙 = 硬件 + 软件 + 控制策略

防火墙的分类,各自的特点

包过滤路由器

在网络层上进行监测
并没有考虑连接状态信息
通常在路由器上实现
实际上是一种网络的访问控制机制
优点:
实现简单
对用户透明
一个包过滤路由器即可保护整个网络
缺点:
正确制定规则并不容易
不可能引入认证机制
包过滤防火墙只通过简单的规则控制数据流的进出,没考虑高层的上下文信息

应用层网关

优点
允许用户“直接”访问Internet;
易于记录日志;
缺点
新的服务不能及时地被代理
每个被代理的服务都要求专门的代理软件
客户软件需要修改,重新编译或者配置
有些服务要求建立直接连接,无法使用代理
比如聊天服务、或者即时消息服务
代理服务不能避免协议本身的缺陷或者限制

电路层网关

拓扑结构同应用程序网关相同
接收客户端连接请求代理客户端完成网络连接
在客户和服务器间中转数据
通用性强

防火墙能否抵抗来自内网的攻击?

防火墙是防外网的,对外部发的包进行检测和过滤,但是到了bai网以后防火墙就不管了,所以装防火墙解决du网攻击那是没用的。

7 VPN技术

VPN是什么,其实现的目的

利用Internet或其它公共互联网络的基础设施为用户创建隧道,来仿真专有的广域网,并提供与专用网络一样的安全和功能保障
虚拟出来的企业内部专线:通过特殊的加密的通讯协议在连接到Internet上的、位于不同地方的、两个或多个企业内部网之间建立一个临时的、安全的连接,是一条穿过公用网络的安全、稳定的隧道
综合了专用和公用网络的优点,允许有多个站点的公司拥有一个假想的完全专有的网络,而使用公用网络作为其站点之间交流的线路

有哪些类型

按应用/服务类型分类
远程访问型VPN
通过Internet接纳远程用户
LAN间互连型VPN
通过Internet联结两个或多个LAN
按实现的层次分类
二层隧道 VPN
三层隧道 VPN

主要应用的技术

在这里插入图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

计算机网络安全技术学习总结 的相关文章

  • Java - 红、绿、蓝获取RGB

    通过致电getRGB int x int y with a BufferedImage对象 得到一个负数 如何将三个不同的值 红色 绿色和蓝色 转换为这个单个负数 使用颜色类 new Color r g b getRGB
  • 使用 Eclipse 将具有外部依赖项的 Java 项目导出到 jar

    有没有一种简单的方法可以将 Java 项目 包括其所有外部依赖项 导出到标准 jar 文件 我开发了一个使用多个 Apache 库的 SDK 我希望能够将该项目作为单个 jar 发布 到目前为止我找到的这个问题的答案要求将项目打包为 Run
  • HttpSession 内的同步是否可行?

    UPDATE 问题后立即解决 问题 通常 同步是在 JVM 内序列化并行请求 例如 private static final Object LOCK new Object public void doSomething synchroniz
  • 按位运算符简单地翻转整数中的所有位?

    我必须翻转整数的二进制表示形式中的所有位 鉴于 10101 输出应该是 01010 当与整数一起使用时 完成此操作的按位运算符是什么 例如 如果我正在编写类似的方法int flipBits int n 什么会进入身体 我只需要翻转数字中已经
  • Java:无安全管理器:RMI 类加载器已禁用

    您好 我有 RMI 应用程序 现在我尝试从客户端调用服务器上的一些方法 我有以下代码 public static void main final String args try Setting the security manager Sy
  • Ant 中回显目标描述

  • 如何添加 Java 正则表达式实现中缺少的功能?

    我是 Java 新手 作为一名 Net 开发人员 我非常习惯Regex Net 中的类 Java 实现Regex 正则表达式 还不错 但它缺少一些关键功能 我想为 Java 创建自己的帮助器类 但我想也许已经有一个可用的了 那么 是否有任何
  • 想要从java中的char数组创建字符流

    我想从 char 数组构造一个流以使用 java 8 功能 例如过滤器和映射 char list a c e Stream
  • 为什么Java中的文件名与公共类名相同? [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 在Java中 文件名应该与文件名相同public class包含在该文件中 为什么这是一个限制 它有什么目的 Java 有一个有趣的方法 如果给
  • 为什么我的 @OneToMany 属性出现主键违规?

    我有一个实体 Entity public class Student GeneratedValue strategy GenerationType AUTO Id private long id OneToMany private Set
  • 如何使用 Swipe 视图实现 Android TabLayout 设计支持库

    我将使用 android TabLayout 设计支持库 但我不知道如何使用滑动视图 这是我的代码 XML
  • 使用 equals 方法比较两个对象,Java

    我有一个对象数组 我想将它们与目标对象进行比较 我想返回与目标对象完全匹配的对象的数量 这是我的计数方法 public int countMatchingGhosts Ghost target int count 0 for int i 0
  • JPA 的 Hibernate 查询提示

    我一直在尝试为所有可以通过设置的提示找到一个明确的资源Query setHint String Object JPA 中的方法调用 但我一无所获 有人知道一个好的参考吗 See 3 4 1 7 查询提示 http docs jboss or
  • 单元测试、集成测试还是设计中的问题?

    我编写了我的第一个单元测试 我认为它过于依赖其他模块 我不确定是否是因为 这是一个复杂的测试 我实际上已经编写了集成测试或 我的设计有问题 我首先要说的是 虽然我有大约 4 年的开发经验 但我从未学过 也没有人教过自动化测试 我刚刚使用 H
  • 如何加载图像文件到ImageView?

    我试图在从文件选择器中选择图像文件后立即显示该图像文件 文件选择器仅限于 png 和 jpg 文件 所选文件存储在文件类型的变量中 为此 我设置了一个 ImageView 我希望用这个新文件设置图像 唯一的问题是它的类型是文件而不是图像 如
  • Java给定长度的随机数

    我需要在 Java 中生成一个恰好 6 位数字的随机数 我知道我可以在随机发生器上循环 6 次 但是在标准 Java SE 中还有其他方法可以做到这一点吗 要生成 6 位数字 Use Random http download oracle
  • 动态创建 JSON 对象

    我正在尝试使用以下格式创建 JSON 对象 tableID 1 price 53 payment cash quantity 3 products ID 1 quantity 1 ID 3 quantity 2 我知道如何使用 JSONOb
  • 使用 Commons 或 Guava 将文本文件转换为 Java Set

    我想将文件中的每一行加载到 HashSet 集合中 有没有一种简单的方法可以做到这一点 怎么样 Sets newHashSet Files readLines file charSet 使用番石榴 参考 文件 readLines http
  • Javac 版本 1.7 无法为目标 1.7 构建

    我试图在 Linux Mint 系统上使用 Sun Java JDK 1 7 0 17 编译 Java 代码 但遇到了这个问题 javac version target 1 7 javac 1 7 0 17 javac invalid ta
  • 在 for 循环比较中使用集合大小

    Java 中 Collections 的 size 方法是否有编译器优化 考虑以下代码 for int i 0 i

随机推荐

  • xe7 安装chrome组件(CEF4Delphi)

    缘起 大屏项目需要用到chrome组件 但为了实现firemonkey的矢量和强大的图形功能 所以只能重新在xe7中安装chrome组件 碰到了一些问题 都一 一化解了 将整个过程记录下来 以供大家采用 1 下载CEF4Delphi mas
  • 第5节 实现Callable 接口

    Java 5 0 在java util concurrent 提供了一个新的创建执行 线程的方式 Callable 接口 Callable 接口类似于Runnable 两者都是为那些其实例可能被另一个线程执行的类设计的 但是 Runnabl
  • 阿里代码规范检查工具的安装使用

    阿里巴巴于 10 月 14 日在杭州云栖大会上 正式发布众所期待的 阿里巴巴 Java 开发规约 扫描插件 简单了解一下这插件 该插件由阿里巴巴 P3C 项目组研发 代码已经开源 GitHub https github com alibab
  • 【python】emoji库,增添趣味!

    今天说一下python的外置库emoji 里面提供超多表情使用 一 安装环境 emoji库使用pip接口进行安装 pip install emoji 二 了解下emoji库函数的使用 两个主要用的函数 emoji emojize 根据 co
  • python网络通信时出现乱码_解决Python发送Http请求时,中文乱码的问题

    解决方法 先encode再quote 原理 msg encode utf 8 是解决中文乱码问题 quote 假如URL的 name 或者 value 值中有 或者 等符号 就会有问题 所以URL中的参数字符串也需要把 等符号进行编码 qu
  • 注册ActiveX控件的几种方法

    使用ActiveX控件可快速实现小型的组件重用 代码共享 从而提高编程效率 降低开发成本 但是ActiveX控件对于最终用户并不能直接使用 因为ActiveX控件必须先在Windows中注册 注册ActiveX控件一般来说有六种途径 它们有
  • 请确保此文件可访问并且是一个有效的程序集或COM组件

    重装系统后 打开项目发现一个dll引用失败 于是重新添加引用 结果报错 请确保此文件可访问并且是一个有效的程序集或COM组件 报错是因为此程序集 com组件未注册而导致不能直接引用 解决方法 首先复制程序集所在的路径 如 E aaaa bb
  • Transformer 综述 & Transformers in Vision: A Survey

    声明 因本人课题只涉及图像分类和目标检测 且此综述对这两个领域调查的比较多 所以此文章只对图像分类和目标检测进行精读 若是对 中的论文感兴趣 到原论文中查阅参考文献即可 下图是综述内容涉及的计算机视觉十大领域 图像识别 目标检测 语义和实例
  • Linux命令-推荐

    大侠必备 杀进程 命令 ps ef grep java 先查java进程ID kill 9 PID 生产环境谨慎使用 kill killall pkill命令的区别 kill 通过pid来杀死进程 killall killall 参数 进程
  • JVM参数之GC日志配置

    说到 Java 虚拟机 不得不提的就是 Java 虚拟机的 GC Garbage Collection 日志 而对于 GC 日志 我们不仅要学会看懂 而且要学会如何设置对应的 GC 日志参数 为了能够更直观地显示出每个参数的作用 我们将以下
  • python case when用法_case when

    case when的表达式形式 1 简单Case函数 CASE sex WHEN 1 THEN 男 WHEN 2 THEN 女 ELSE 其他 END 2 Case搜索函数 CASE WHEN sex 1 THEN 男 WHEN sex 2
  • 【asm基础】nasm和masm的一些区别

    差异点说明 1 nasm是区分大小写的 2 nasm中访问内存需要使用 将内存地址括起来 例如 bar equ 2 mov rax bar mov rax bar 这个才是存储地址中内容的操作 3 nasm不存储类型信息 所以也不能使用MO
  • Vue组件按需引入时v-if和v-show的区别

    普通加载 在父组件中先import子组件 然后在components模块中注册子组件 在进 入页面时 会随着加载当前页面的js文件就加载子组件的内容 子组件的内容和父组件的内容在同一个js文件 按需加载 子组件显示的时候 才会去加载子组件的
  • fastcgi 环境变量例子

    例如请求的url http 172 28 250 184 8099 aa php var ccccc value bbbbbb 前两个字节分别代表 变量名长度 和 变量值长度 0x0f0x0fSCRIPT FILENAME scripts
  • [转][SoC][DV]关于加快验证收敛的一些方法

    关于加快验证收敛的一些方法 一 自动生成uvm验证环境 uvm gen 二 自动生成agent UVC VIP agent gen 三 模块化设计Clock以及reset的产生 clock agent 四 后台磁盘管理并且定期清理log r
  • MySQL之分布式事务

    写在前面 当数据库进行了分库分表 之后为了保证数据的一致性 不可变的就需要引入跨数据的事务解决方案 这种解决方案我们叫做分布式事务 本文就一起来看下分布式事务相关的内容 在8 0 版本上学习 1 实战 为了能够更好的理解理论知识 我们先来简
  • 线上系统性能太差,我手写了字符串切割函数,性能提升10倍以上

    V xin ruyuanhadeng获得600 页原创精品文章汇总PDF 目录 工作中常用的 split 切割字符串效率高吗 JDK 提供字符串切割工具类 StringTokenizer 手把手带你实现一个更高效的字符串切割工具类 总结 今
  • 好的习惯

    从网上看到的一篇外文文章的翻译 感觉挺不错 分享一下 第三章 习惯一 积极主动 个人愿景的原则 人性本质是主动而非被动的 不仅能消极选择反应 更能主动创造有利环境 采取主动并不表示要强求 惹人厌或具侵略性 只是不逃避为自己开创前途的责任 最
  • Windows环境下Apache与Tomcat共存

    准备工作 1 Apache 2 2 4 下载地址 http cztele1 skycn com down apache 2 2 4 win32 x86 no ssl zip 2 Tomcat 6 0 16 下载地址 http apache
  • 计算机网络安全技术学习总结

    计算机网络安全C 1 绪论 网络安全的定义 模型 攻击手段 攻击方式 安全服务 安全机制 特定安全机制 普遍的安全机制 认识Internet上的严峻的安全形势并深入分析其根源 造成Internet安全问题的主要原因 1系统脆弱性 2自然灾害