【数据安全】Java AES加密和解密
1.概述
对称密钥分组密码在数据加密中起着重要作用。这意味着加密和解密都使用相同的密钥。高级加密标准(AES)是一种广泛使用的对称密钥加密算法。
在本教程中,我们将学习如何在JDK中使用Java Cryptography Architecture(JCA)实现AES加密和解密。
2.AES算法
AES算法是一种迭代的对称密钥块密码,它支持128、192和256位的密钥(秘密密钥)来加密和解密128位块中的数据。下图显示了高级AES算法:
如果要加密的数据不满足128位的块大小要求,则必须对其进行填充。填充是将最后一个块填充为128位的过程。
3.AES变化
AES算法有六种操作模式:
【Java】从JDK 8迁移到JDK后续版本
JDK8和以后的JDK版本之间进行了重大更改。
每一个新的JavaSE版本都引入了一些与以前版本的二进制、源代码和行为不兼容。JDK9中发生的Java SE平台的模块化以及后来的模块化带来了许多好处,但也带来了许多变化。只使用官方Java SE平台API和受支持的JDK特定API的代码应该可以继续工作而不会发生更改。使用JDK内部API的代码应该继续运行,但应该迁移以使用支持的API。
某些API在其默认行为中被设置为不可访问、删除或更改。编译或运行应用程序时可能会遇到问题。请参阅删除的工具和组件以及安全更新。
以下部分描述了JDK包中的更改,当您将JDK 8应用程序迁移到以后的JDK版本时,您应该注意这些更改。
查看运行应用程序时可能遇到的更改列表。
【Angular】Angular中的最差实践
简介:
Angular是构建web应用程序的一个流行而强大的框架,但与任何技术一样,它也有一些糟糕的做法。作为一名开发人员,重要的是要意识到这些最糟糕的做法,这样你就可以避免它们,并编写可维护、高性能和可扩展的代码。
在本文中,我们将探讨Angular开发中一些最常见的最差实践,并提供解决方案和最佳实践。
因此,让我们深入学习如何避免Angular开发中的这些常见错误
请深呼吸,保持耐心。
1.不要清除您的订阅:
这是一种非常常见的做法,可能会导致内存泄漏🤯🤯
constructor(private userService:UserService){} onInit(){ this.userService.user$.subscribe(user=>{...}) }
当您在Angular中订阅Observable时,您正在Observable和订阅者之间创建连接。
Observable将继续发出值,直到您取消订阅它,即使订阅它的组件不再使用。
要解决此问题,只需使用其中一个:
【数据保护】数据匿名的自定义NLP方法
消除真实世界私人数据识别的实用方法
随着互联网服务的普及,人们对互联网隐私的渴望不断增长。近年来,诸如GDPR等不同的法律开始发挥作用,这些法律规范了服务收集私人信息的方式。这引起了每家公司对隐私方面的关注,并增加了对处理和匿名私人数据的投资。
我在微软商业软件工程(CSE)团队的工作是与微软最具战略意义的客户合作。我们共同开发人工智能、大规模数据、物联网等领域的新工作负载。在与这些客户接触的同时,我们意识到,PII(个人身份信息)问题是许多希望在本地或云中扩展其解决方案集的公司反复出现的话题和障碍。
因此,我们决定为任何希望解决数据隐私问题的人创建Presidio,这是一项免费的生产准备开源服务。
Presidio允许任何用户在结构化和非结构化数据上创建标准和透明的匿名PII实体流程。为此,它公开了一组预定义的PII识别器(用于名称、信用卡号和电话号码等常见实体),以及用新逻辑扩展它的工具,以识别更具体的PII实体。在这篇博客文章中,我们将重点讨论如何利用自然语言处理来识别不同类型的私人实体。
【隐私保护】Presidio简化了PII匿名化
匿名化的背景和如何构建匿名器
随着GDPR在欧洲实施后的各种法规,正确处理敏感信息,特别是个人身份信息(PII)成为许多公司的要求。在本文中,我们将讨论什么是PII,以及如何在非结构化数据(尤其是文本)中匿名化PII。我们还将演示使用Microsoft Presidio的文本匿名器的示例实现,这是一个提供快速PII识别和匿名模块的开源库。本文分为以下几个部分:
- 背景:隐私和匿名
- 现有的匿名技术
- 使用Microsoft Presidio自定义PII匿名器
- 结论、链接和参考文献
跳到任何你觉得最有趣的部分!
背景
早在19世纪50年代,数据保护和隐私保护技术就已被研究和应用,当时美国人口普查局开始从公开的美国公民人口普查数据中删除个人数据。自从早期使用诸如添加随机噪声或聚合之类的简单技术以来,已经提出并改进了各种模型。隐私权是一项基本人权。根据字典的定义,它是
个人或群体将自己或关于自己的信息隐藏起来,从而有选择地表达自己的能力。
【自然语言处理】用Python从文本中删除个人信息-第二部分
Python中隐私过滤器的实现,该过滤器通过命名实体识别(NER)删除个人身份信息(PII)
这是我上一篇关于从文本中删除个人信息的文章的后续内容。
GDPR是欧盟制定的《通用数据保护条例》。其目的是保护所有欧洲居民的数据。保护数据也是开发人员的内在价值。通过控制对列和行的访问,保护行/列数据结构中的数据相对容易。但是免费文本呢?
在我上一篇文章中,我描述了一个基于正则表达式用法和禁止词列表的解决方案。在本文中,我们添加了一个基于命名实体识别(NER)的实现。完整的实现可以在github PrivacyFilter项目中找到。
什么是命名实体识别?
根据维基百科,NER是:
命名实体识别(NER)(也称为(命名)实体识别、实体分块和实体提取)是信息提取的一个子任务,旨在定位非结构化文本中提到的命名实体,并将其分类为预定义的类别,如人名、组织、位置、医疗代码、时间表达式、数量、货币值、百分比等。
【隐私保护】使用Python从文本中删除个人信息
实现Python隐私文本过滤器,通过删除个人身份信息(PII)来保护用户的隐私。
GDPR是欧盟制定的《通用数据保护条例》。其目的是保护所有欧洲居民的数据。保护数据也是开发人员的内在价值。通过控制对列和行的访问,保护行/列数据结构中的数据相对容易。但是免费文本呢?
为了满足我们的隐私要求,我们可以调整自由文本字段的内容,用标签取代与隐私相关的信息。文本的含义没有改变,但不能通过匿名化与个人相关。目标是翻译以下文本(日期为荷兰语):
【隐私保护】Presidio支持的PII实体
Presidio包含PII实体的预定义识别器。本页介绍了Presidio可以检测的不同实体,以及Presidio用于检测这些实体的方法。
此外,Presidio允许您添加自定义实体识别器。有关详细信息,请参阅添加新识别器文档。
【自然语言处理】扩展命名实体识别器(NER)以使用spaCy标记新实体
标记单词的顺序-简洁明了。
Figure 1: Colour-coded recognised entities
这篇文章假设读者对从文本中提取实体有一些概念,并希望进一步了解新的自定义实体识别的最先进技术以及如何使用这些技术。然而,如果你是NER问题的新手,请在这里阅读。
话虽如此,这篇文章的目的是描述spaCy的预训练自然语言处理(NLP)核心模型用于学习识别新实体的使用。来自spacy的现有核心NLP模型被训练来识别各种实体,如图2所示。
【自然语言处理】第3部分:识别文本中的个人身份信息
在文本文档中查找个人身份信息(PII)可能很有用,原因有几个,但我多次遇到的一个用例是帮助匿名文本,以便:
- 与第三方共享数据
- 遵守GDPR等法规要求
- 将PII替换为模拟数据,用作机器学习和其他探索性分析的训练数据
我将尝试自动化查找PII的过程,在本系列文章中,我们将探索一些流行的开源工具和技术,以便在我们自己的数据中识别不同类型的PII。
到目前为止,我们已经找到了查找人名、电子邮件地址、电话号码和信用卡号码的方法。让我们看看我们还能找到哪些其他类型的PII。
介绍Hugging Face
Hugging Face是一个流行的Python库,包含预先训练的人工智能模型,可用于各种自然语言处理(NLP)任务,包括命名实体识别(NER)。正如我们在前几篇文章中所讨论的,NER是一种非常有用的检测文本中PII的技术。
Python示例
让我们看看我们将如何使用拥抱脸。
先决条件: