Leon406 / ToolsFx

基于kotlin+tornadoFx的跨平台密码学工具箱.包含编解码,编码转换,加解密, 哈希,MAC,签名,大数运算,压缩,二维码功能,ctf等实用功能,支持插件
https://github.com/Leon406/ToolsFx/wiki
ISC License
1.59k stars 270 forks source link

疑问解答区 (疑问请到Discussions中反馈) #74

Open Leon406 opened 1 year ago

Leon406 commented 1 year ago

如有疑问,请不要单独提issue,统一在此issue回复

提问前,请多看几遍README 和 wiki

45qq commented 1 year ago

image 替换换行符为可见字符串无效

Leon406 commented 1 year ago

image 替换换行符为可见字符串无效

感谢反馈,nightly版本已更新

cgddgc commented 1 year ago

为什么这个窗口alt+tab无法切换,一直强制在最上层,点其他软件也无法覆盖在上面,只有点击最小化才可以

Leon406 commented 1 year ago

为什么这个窗口alt+tab无法切换,一直强制在最上层,点其他软件也无法覆盖在上面,只有点击最小化才可以

空白位置右键 取消选择Top置顶

LC-pro commented 1 year ago

有些加解密会报错或者点击没反应 image

Leon406 commented 1 year ago

哪些加密? online的需要联网的

xiaohu8728 commented 1 year ago

macos 双击运行脚本 终端报错:错误: 找不到或无法加载主类 me.leon.MainKt 直接在终端里面运行可以正常使用 如何修改执行脚本?

Leon406 commented 1 year ago

macos 双击运行脚本 终端报错:错误: 找不到或无法加载主类 me.leon.MainKt 直接在终端里面运行可以正常使用 如何修改执行脚本?

怀疑是路径问题, 没有电脑, 你先研究下, 就是写个执行shell,

xiaohu8728 commented 1 year ago

先改的脚本 自己也写了 用的绝对路径还是不行 等有时间再看看吧

jeffhardy0901 commented 1 year ago

您好,多重加密的古典密码支持一键解码吗?

Leon406 commented 1 year ago

您好,多重加密的古典密码支持一键解码吗?

不支持混合, 只支持部分单个算法解密

songjinlian commented 1 year ago

消息(Hex): 77684D514F6167304763326B56652B784577486E5176586843724F47752B4267 公钥(Hex): 30819f300d06092a864886f70d010101050003818d0030818902818100de72a0aa4326217cc5da0393f104deb5e9e79e8ba90596801fb85302360db5d54dbbd24d8f224a7f83fafa0fb2beeee6921fe304e406f0f5cb9462df8e3f98f362514ea7fa6e6250150734a9ff6c9019b68e16211bde954473fbb54c3d33474ea0e505dc314027a97da93f67efcbb39f469339b32d562272f588cdf5e9a40bc70203010001 签名值(Hex): 2DCC6FB95B9202CA8DC32BE8533AF660A0DCBB4DE7C20B731A65E89DB15718436663E308EAC978666B4CD471179C2E31EA41F1894E8BE4BD31B2CD44BE1F4A3C430EF9D8806BBB25521FDDDEBDCC8801A2D074A9B02DE4A4012BA12335DF3BCF80708848BC5E5B428A962CFF1671E8B43A1E2C7E7E745A663DC18440AE8302E9

使用V.14.1可以验签成功,使用V.16.1验签失败 V.14.1可以验签成功截图 图片 V.16.1验签失败截图 Snipaste_2023-05-15_08-54-57

songjinlian commented 1 year ago

SM2签名验签功能,签名值是否支持直接输入R、S值?或是提供个功能根据R、S值生成符合ASN,1标准的签名格式

Leon406 commented 1 year ago

消息(Hex): 77684D514F6167304763326B56652B784577486E5176586843724F47752B4267 公钥(Hex): 30819f300d06092a864886f70d010101050003818d0030818902818100de72a0aa4326217cc5da0393f104deb5e9e79e8ba90596801fb85302360db5d54dbbd24d8f224a7f83fafa0fb2beeee6921fe304e406f0f5cb9462df8e3f98f362514ea7fa6e6250150734a9ff6c9019b68e16211bde954473fbb54c3d33474ea0e505dc314027a97da93f67efcbb39f469339b32d562272f588cdf5e9a40bc70203010001 签名值(Hex): 2DCC6FB95B9202CA8DC32BE8533AF660A0DCBB4DE7C20B731A65E89DB15718436663E308EAC978666B4CD471179C2E31EA41F1894E8BE4BD31B2CD44BE1F4A3C430EF9D8806BBB25521FDDDEBDCC8801A2D074A9B02DE4A4012BA12335DF3BCF80708848BC5E5B428A962CFF1671E8B43A1E2C7E7E745A663DC18440AE8302E9

使用V.14.1可以验签成功,使用V.16.1验签失败 V.14.1可以验签成功截图 图片 V.16.1验签失败截图 Snipaste_2023-05-15_08-54-57

两个公钥都不一样, 校验失败不是正常的吗

luoate commented 1 year ago

[base64编码自定义字典时用flag编码成功,但是再用编码解码失败

屏幕截图 2023-05-30 221220 屏幕截图 2023-05-30 221542
Leon406 commented 1 year ago

[base64编码自定义字典时用flag编码成功,但是再用编码解码失败 屏幕截图 2023-05-30 221220 屏幕截图 2023-05-30 221542

字典的等号换成其他符号, =是默认padding符号

hfmingming commented 1 year ago

算D的时候会出错image

Leon406 commented 1 year ago

算D的时候会出错image

使用不兼容的 jdk8代码, 建议升级jdk到11+, 或者更换提供带jre 64位版本, 可以先用使用最新的beta版本 jar 或者使用附件的压缩包, 解压后放到lib目录,并删除app-1.6.0.jar 后续计划不再支持 jdk8

app-1.16.1.beta.zip

songjinlian commented 1 year ago

咱们的工具能实现X25519(a, 9)计算吗? 如RFC 7748 中的示例: Alice’s private key, a: 77076d0a7318a57d3c16c17251b26645df4c2f87ebc0992ab177fba51db92c2a Alice’s public key, X25519(a, 9): 8520f0098930a754748b7ddcb43ef75a0dbf3a0d26381af4eba4a98eaa9b4e6a Bob’s private key, b: 5dab087e624a8a4b79e17f8b83800ee66f3bb1292618b6fd1c2f8b27ff88e0eb Bob’s public key, X25519(b, 9): de9edb7d7b7dc1b4d35b61c2ece435373f8343c85b78674dadfc7e146f882b4f Their shared secret, K: 4a5d9d5ba4ce2de1728e3bf480350f25e07e21c947d19e3376f09b3c1e161742

Leon406 commented 1 year ago

咱们的工具能实现X25519(a, 9)计算吗? 如RFC 7748 中的示例: Alice’s private key, a: 77076d0a7318a57d3c16c17251b26645df4c2f87ebc0992ab177fba51db92c2a Alice’s public key, X25519(a, 9): 8520f0098930a754748b7ddcb43ef75a0dbf3a0d26381af4eba4a98eaa9b4e6a Bob’s private key, b: 5dab087e624a8a4b79e17f8b83800ee66f3bb1292618b6fd1c2f8b27ff88e0eb Bob’s public key, X25519(b, 9): de9edb7d7b7dc1b4d35b61c2ece435373f8343c85b78674dadfc7e146f882b4f Their shared secret, K: 4a5d9d5ba4ce2de1728e3bf480350f25e07e21c947d19e3376f09b3c1e161742

不支持, 得转成标准的公私钥格式

HuaWeng commented 1 year ago

对称加密Sperpent算法拖入文件解密后出错

Leon406 commented 1 year ago

对称加密Sperpent算法拖入文件解密后出错

非标准的Sperpent会有问题, 群里有人反馈过了

songjinlian commented 1 year ago

对称加密(Stream)的ChaCha20-Poly1305算法,使用RFC7539提供的测试数据,发现计算后的Tag不一致。如下图: 图片 相关参数数据如下: The key: 1c9240a5eb55d38af333888604f6b5f0473917c1402b80099dca5cbc207075c0

Ciphertext: 64a0861575861af460f062c79be643bd5e805cfd345cf389f108670ac76c8cb24c6cfc18755d43eea09ee94e382d26b0bdb7b73c321b0100d4f03b7f355894cf332f830e710b97ce98c8a84abd0b948114ad176e008d33bd60f982b1ff37c8559797a06ef4f0ef61c186324e2b3506383606907b6a7c02b0f9f6157b53c867e4b9166c767b804d46a59b5216cde7a4e99040c5a40433225ee282a1b0a06c523eaf4534d7f83fa1155b0047718cbc546a0d072b04b3564eea1b422273f548271a0bb2316053fa76991955ebd63159434ecebb4e466dae5a1073a6727627097a1049e617d91d361094fa68f0ff77987130305beaba2eda04df997b714d6c6f2c29a6ad5cb4022b02709b

The nonce: 000000000102030405060708

The AAD: f33388860000000000004e91

Received Tag: eead9d67890cbb22392336fea1851f38 //咱们工具计算出来的是6e3570b1acaaf1f24f2a644f01acd12b

Plaintext: 496e7465726e65742d4472616674732061726520647261667420646f63756d656e74732076616c696420666f722061206d6178696d756d206f6620736978206d6f6e74687320616e64206d617920626520757064617465642c207265706c616365642c206f72206f62736f6c65746564206279206f7468657220646f63756d656e747320617420616e792074696d652e20497420697320696e617070726f70726961746520746f2075736520496e7465726e65742d447261667473206173207265666572656e6365206d6174657269616c206f7220746f2063697465207468656d206f74686572207468616e206173202fe2809c776f726b20696e2070726f67726573732e2fe2809d

Leon406 commented 1 year ago

RFC7539

Arbitrary length additional authenticated data (AAD) 没有这个参数 image

HuaWeng commented 1 year ago

quoted-printable 解密,会出现:解码错误: java.lang.StringIndexOutOfBoundsException: String index out of range 报错,任何数量的字符串都报这个错误

Leon406 commented 1 year ago

quoted-printable 解密,会出现:解码错误: java.lang.StringIndexOutOfBoundsException: String index out of range 报错,任何数量的字符串都报这个错误

感谢反馈, 已修复, 可以下载最新版 github action构建jar包

HuaWeng commented 1 year ago
image image

AES解密报错,任何padding都报错

HuaWeng commented 1 year ago
image

URLdecode报错

HuaWeng commented 1 year ago
image image

曼彻斯特解码出错。

Leon406 commented 1 year ago
image

URLdecode报错

建议补一下AES基础知识, AES最小key长度是128位,即16个字符, 目前不考虑加入自动补全, 算法太多了,而且每个算法不止一个key长度

目前解决方案: 勾选autokeyIv选项, key格式选择 hex, 会自动转成hex格式, 后面补足0, 如果是AES/128 后面再补16个0 就能正常解密

Leon406 commented 1 year ago
image

URLdecode报错

urlencode只支持十进制urlencode, 也就是常见的格式, 你提供的是16进制的 这个选择escape算法进行解码

我猜你肯定没有看wiki https://github.com/Leon406/ToolsFx/wiki/%E7%BC%96%E8%A7%A3%E7%A0%81(Encoding)#escape

Leon406 commented 1 year ago

image image 曼彻斯特解码出错。

这是我实现算法问题, 只支持整个字节的, 即二进制长度为8的倍数

临时解决方案

你可以在后面手动加上00 补足长度为8的倍数, 解码需要手动删除最后 补足0长度/2

https://github.com/Leon406/ToolsFx/wiki/CTF#manchester

songjinlian commented 1 year ago

编码转码问题反馈:编码转换模块,输入HEX,输出urlencode,输出的内容不正确(还有部分%3、%2这种没有转换),如下图: 图片

采用编解码模块的crack功能,输出是正确的,如下图 图片

输入的HEX是:4944546f6b656e313d6c59575543737657427067644e6a3344576a31506277253344253344264944546f6b656e323d6659346f764475746c755466253246253242763630334a4f25324267253344253344264944546f6b656e333d26676f746f3d6148523063446f764c3364336479357a59324e3059793576636d6375593234765957307662324631644767794c32463164476876636d6c365a54397a5a584a3261574e6c50576c75615852545a584a3261574e6c4a6e4a6c63334276626e4e6c58335235634755395932396b5a535a6a62476c6c626e5266615751394d5441354f4451335a575a6b4e6a41794e474d784f435a7a593239775a543131615751725932347264584e6c636b6c6b5132396b5a5374306232746c626b6c454a6e4a6c5a476c795a574e30583356796154316f64485277637a6f764c3364336479357a59324e3059793576636d63755932347664574e6c626e526c636939686458526f4c3239686458526f4a6d526c59326c7a61573975505546736247393326676f746f4f6e4661696c3d2653756e5175657279506172616d73537472696e673d636d5668624730394c795a7a5a584a3261574e6c50576c75615852545a584a3261574e6c4a6d467763456c6b505445774f5467304e32566d5a4459774d6a526a4d54676d26656e636f6465643d747275652676616c6964617465436f64653d6d6a65612667785f636861727365743d7574662d38

Leon406 commented 1 year ago

编码转码问题反馈:编码转换模块,输入HEX,输出urlencode,输出的内容不正确(还有部分%3、%2这种没有转换),如下图: 图片

采用编解码模块的crack功能,输出是正确的,如下图 图片

输入的HEX是:4944546f6b656e313d6c59575543737657427067644e6a3344576a31506277253344253344264944546f6b656e323d6659346f764475746c755466253246253242763630334a4f25324267253344253344264944546f6b656e333d26676f746f3d6148523063446f764c3364336479357a59324e3059793576636d6375593234765957307662324631644767794c32463164476876636d6c365a54397a5a584a3261574e6c50576c75615852545a584a3261574e6c4a6e4a6c63334276626e4e6c58335235634755395932396b5a535a6a62476c6c626e5266615751394d5441354f4451335a575a6b4e6a41794e474d784f435a7a593239775a543131615751725932347264584e6c636b6c6b5132396b5a5374306232746c626b6c454a6e4a6c5a476c795a574e30583356796154316f64485277637a6f764c3364336479357a59324e3059793576636d63755932347664574e6c626e526c636939686458526f4c3239686458526f4a6d526c59326c7a61573975505546736247393326676f746f4f6e4661696c3d2653756e5175657279506172616d73537472696e673d636d5668624730394c795a7a5a584a3261574e6c50576c75615852545a584a3261574e6c4a6d467763456c6b505445774f5467304e32566d5a4459774d6a526a4d54676d26656e636f6465643d747275652676616c6964617465436f64653d6d6a65612667785f636861727365743d7574662d38

你存在认知的错误

编码转码是转成某个编码, 不是解码 编解码 是解码

如果是解码 就用 编解码 转码 用 编码转换 这个两个不同的功能,不要搞混了

songjinlian commented 1 year ago

编码转码问题反馈:编码转换模块,输入HEX,输出urlencode,输出的内容不正确(还有部分%3、%2这种没有转换),如下图: 图片 采用编解码模块的crack功能,输出是正确的,如下图 图片 输入的HEX是:4944546f6b656e313d6c59575543737657427067644e6a3344576a31506277253344253344264944546f6b656e323d6659346f764475746c755466253246253242763630334a4f25324267253344253344264944546f6b656e333d26676f746f3d6148523063446f764c3364336479357a59324e3059793576636d6375593234765957307662324631644767794c32463164476876636d6c365a54397a5a584a3261574e6c50576c75615852545a584a3261574e6c4a6e4a6c63334276626e4e6c58335235634755395932396b5a535a6a62476c6c626e5266615751394d5441354f4451335a575a6b4e6a41794e474d784f435a7a593239775a543131615751725932347264584e6c636b6c6b5132396b5a5374306232746c626b6c454a6e4a6c5a476c795a574e30583356796154316f64485277637a6f764c3364336479357a59324e3059793576636d63755932347664574e6c626e526c636939686458526f4c3239686458526f4a6d526c59326c7a61573975505546736247393326676f746f4f6e4661696c3d2653756e5175657279506172616d73537472696e673d636d5668624730394c795a7a5a584a3261574e6c50576c75615852545a584a3261574e6c4a6d467763456c6b505445774f5467304e32566d5a4459774d6a526a4d54676d26656e636f6465643d747275652676616c6964617465436f64653d6d6a65612667785f636861727365743d7574662d38

你存在认知的错误

编码转码是转成某个编码, 不是解码 编解码 是解码

如果是解码 就用 编解码 转码 用 编码转换 这个两个不同的功能,不要搞混了

明白了,谢谢

Tukali commented 9 months ago

啥时候更新release啊,每次看到有更新都进来看,每次都是[+ 67 releases]

Leon406 commented 9 months ago

啥时候更新release啊,每次看到有更新都进来看,每次都是[+ 67 releases]

暂无更新计划 你可以选择watch - custom- releases, 只接受release信息

1104325595 commented 6 months ago

使用base16解码报错:解码错误: java.lang.NumberFormatException: For input string: "00-100-1" under radix 2 1 测试数据:\x35\x35\x2c\x35\x36\x2c\x35\x34\x2c\x37\x39\x2c\x31\x31\x35\x2c\x36\x39\x2c\x31\x31\x34\x2c\x31\x31\x36\x2c\x31\x30\x37\x2c\x34\x39\x2c\x35\x30

Leon406 commented 6 months ago

使用base16解码报错:解码错误: java.lang.NumberFormatException: For input string: "00-100-1" under radix 2 1 测试数据:\x35\x35\x2c\x35\x36\x2c\x35\x34\x2c\x37\x39\x2c\x31\x31\x35\x2c\x36\x39\x2c\x31\x31\x34\x2c\x31\x31\x36\x2c\x31\x30\x37\x2c\x34\x39\x2c\x35\x30

先看wiki,再提问

估计你所有的测试数据都没有跑过

https://github.com/Leon406/ToolsFx/wiki/%E7%BC%96%E8%A7%A3%E7%A0%81(Encoding)#base16 https://github.com/Leon406/ToolsFx/wiki/%E7%BC%96%E8%A7%A3%E7%A0%81(Encoding)#jshex

如果不知道编码,可以用 crack

image

xiaoliunian commented 6 months ago

请问一下,SM2解密的时候密文顺序是C1+C3+C2还是C1+C2+C3???可以增加个选择功能吗

还有为什么我在解密的时候报错 image

密文:83e6ecef3fb62d7d4683132d920a298dd88efc8342256fb751987a5c37300cd3398674a09fc955c21d9218a5016994738d9eddb2939b133e8ed2273aa3a215d3cf1f2e14abe2de8c81fc9f2fbf028648570af88dcdaa98659a4c3eb1f9697510ac34d8306c55b50003a96045184deb81

密钥:2eb464dc25937be59938549f4cc6306cea1c2ecdcc491a4e3b4fc0bd29af1f99