首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >ECGroup序列化/反序列化的Java等价物

ECGroup序列化/反序列化的Java等价物
EN

Stack Overflow用户
提问于 2017-05-19 04:14:08
回答 2查看 133关注 0票数 0

我是密码学的新手,正在学习如何在Java中使用Bouncy Castle进行加密。

我知道Python有我用过的Crypto-Charm

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
import charm.toolbox.ecgroup


serializedKey = charm.toolbox.ecgroup(prime192v1).deserialize(keyInBytes)

我怎样才能对Java做同样的事情呢?

EN

回答 2

Stack Overflow用户

发布于 2017-05-19 10:34:16

试试这个:

反序列化:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
KeyFactory keyFactory = KeyFactory.getInstance("EC");
PKCS8EncodedKeySpec keySpec = new PKCS8EncodedKeySpec(keyBytes);
PrivateKey privateKey = keyFactory.generatePrivate(keySpec);

序列化:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
byte[] keyBytes = privateKey.getEncoded();

也许您需要在KeyFactory.getInstance之前使用此调用(取决于您的JDK):

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Security.addProvider(new BouncyCastleProvider());
票数 0
EN

Stack Overflow用户

发布于 2021-04-20 14:07:50

该参考资料对于理解代码编码的不同示例可能是有用的https://www.bouncycastle.org/fips-java/BCFipsIn100.pdf

在本章中

基于

密码的加密和密钥存储

在这一部分

编码公钥和私钥

有一些例子可以获得想法。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44061344

复制
相关文章
Java 的序列化 与 反序列化
我们进行网络传输的时候,是以 二进制数据为单位的。我们在传输的时候 就需要将对象 进行序列化 为字节,这样 我们就可也 进行传输了。比如我们存储Redis数据,假设我们有个 对象叫user,但是 Redis 可识别不了我们Java 虚拟机内存中的 user对象。Redis 只认识 String。将来存储的形式 ,也一定是String。但是 这就带来一个问题。我们将来从Redis读取的字节时候,我们就需要转成Java 对象,我们才能用Java代码进行处理,所以,我们必须按照一个规矩 将对象 进行 所谓的 “加密” 然后 存储后。我们读取的时候 再 “解密“。 “加密” 就叫 序列化 ,”解密” 就叫 反序列化。
收心
2022/01/17
5560
Java的序列化与反序列化
Java的序列化与反序列化是Java中比较重要的一个知识,本文将总结一下,怎么使用序列化功能以及经常遇到的一些问题的解答.
呼延十
2019/07/01
6180
Java对象的序列化和反序列化
Java 对象的序列化和反序列化是一种将对象转换成字节流并存储在硬盘或网络中,以及从字节流中重新加载对象的操作。Java 的序列化和反序列化提供了一种方便的方式,使得可以将对象在不同的应用程序之间进行交互。
阿珍
2023/04/18
1.4K0
Java 序列化与反序列化
1、什么是序列化?为什么要序列化?     Java 序列化就是指将对象转换为字节序列的过程,而反序列化则是只将字节序列转换成目标对象的过程。     我们都知道,在进行浏览器访问的时候,我们看到的文本、图片、音频、视频等都是通过二进制序列进行传输的,那么如果我们需要将Java对象进行传输的时候,是不是也应该先将对象进行序列化?答案是肯定的,我们需要先将Java对象进行序列化,然后通过网络,IO进行传输,当到达目的地之后,再进行反序列化获取到我们想要的对象,最后完成通信。 2、如何实现序列化 2.1、使用
九灵
2018/03/09
1.3K0
Java序列化和反序列化
Java序列化(Serialize)是指将一个Java对象写入IO流中; Java反序列化(Deserialize)指的是从IO流中回复IO对象。
悠扬前奏
2019/05/28
8940
【Java】序列化与反序列化
对象序列化机制允许把内存中的Java对象转化成语平台无关的二进制流,从而允许把这种二进制流持久的保存在磁盘上,或通过网络将这种二进制流传输到另一个网络节点。
CODER-V
2023/03/07
6410
java序列化和反序列化
Java序列化和反序列化是将Java对象转换为字节流和将字节流转换为Java对象的过程。Java提供了一种机制,称为Java对象序列化,可将Java对象转换为字节流,以便将其保存在文件中或通过网络传输。反序列化是将字节流转换回Java对象的过程。在本文中,我们将探讨Java序列化和反序列化的基本原理以及如何使用Java进行序列化和反序列化。
堕落飞鸟
2023/03/31
9390
java序列化和序列化ID的作用
谈到java序列化其实大家都能说出一二, java对象序列化的意思就是将对象的状态转化成字节流,以后可以通过这些值再生成相同状态的对象。对象序列化是对象持久化的一种实现方法,它是将对象的属性和方法转化为一种序列化的形式用于存储和传输。反序列化当然就是对对象的重建。
Tim在路上
2020/08/04
1.4K0
Java 序列化
被序列化的类必须属于 Enum、Array 和 Serializable 类型其中的任何一种。
静默虚空
2018/07/31
5300
Java 序列化
java 的序列化和反序列化的问题
引言 将 Java 对象序列化为二进制文件的 Java 序列化技术是 Java 系列技术中一个较为重要的技术点,在大部分情况下,开发人员只需要了解被序列化的类需要实现 Serializable 接口,使用 ObjectInputStream 和 ObjectOutputStream 进行对象的读写。然而在有些情况下,光知道这些还远远不够,文章列举了笔者遇到的一些真实情境,它们与 Java 序列化相关,通过分析情境出现的原因,使读者轻松牢记 Java 序列化中的一些高级认识。 回页首 文章结构 本文
xiangzhihong
2018/01/30
9100
java 的序列化和反序列化的问题
java序列化
java对象是在jvm中,如果jvm销毁,那么对象都不存在了。如果想继续使用java对象的话,需要用到序列化,将java中的对象转化为字节序列,用于存储和运输;
千往
2018/08/02
5640
Java 序列化
我们经常在 java 中使用序列化,序列化成一个二进制文件,需要的时候再反序列化,但是一直只知道只要实现 Serializable 接口就可以了,一直不知道具体的原理,我们今天就来一探究竟。
haoming1100
2019/02/15
7270
Java 序列化
序列化分为两大部分:序列化和反序列化。序列化是这个过程的第一部分,将数据分解成字节流,以便存储在文件中或在网络上传输。反序列化就是打开字节流并重构对象。对象序列化不仅要将基本数据类型转换成字节表示,有时还要恢复数据。恢复数据要求有恢复数据的对象实例。
HLee
2021/05/08
1.2K0
Java 序列化
Java基础18:Java序列化与反序列化
本文介绍了Java序列化的基本概念,序列化和反序列化的使用方法,以及实现原理等,比较全面地总结序列化相关知识点,并且使用具体例子来加以佐证。
程序员黄小斜
2019/04/07
1K0
Java 对象序列化和反序列化
     之前的文章中我们介绍过有关字节流字符流的使用,当时我们对于将一个对象输出到流中的操作,使用DataOutputStream流将该对象中的每个属性值逐个输出到流中,读出时相反。在我们看来这种行
Single
2018/01/04
9590
什么是 java 序列化,如何实现 java 序列化?
序列化的实现:将需要被序列化的类实现 Serializable 接口,该接口没有需实
MickyInvQ
2020/09/27
6340
Java 16 - 序列化与反序列化
需要进行序列化的类需要实现Serializable接口, 但是不需要实现任何方法.
Reck Zhang
2021/08/11
2860
Java基础-序列化与反序列化
序列化和反序列化在面试中也经常考查,下面就总结一下 Java 中的序列化和反序列化。
Wizey
2018/09/29
4120
Protocol Buffer序列化对比Java序列化.
初识 Protocol Buff是谷歌推出的一种序列化协议. 而Java序列化协议也是一种协议. 两者的目的是, 将对象序列化成字节数组, 或者说是二进制数据, 那么他们之间有什么差异呢. proto对象 要使用PB, 我们需要定义一个proto对象, 其支持的数据类型如下: Protobuf定义了一套基本数据类型。几乎都可以映射到C++\Java等语言的基础数据类型. protobuf 数据类型 描述 打包 C++语言映射 bool 布尔类型 1字节
用户1216491
2018/01/24
2.1K0
点击加载更多

相似问题

Java (反)序列化过程

12

Java (反)序列化是原子的吗?

13

Gson用反斜杠java序列化问题

14

(反)序列化“Object”

32

用反斜杠反序列化Java JSONObject错误

11
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文