小编Per*_*due的帖子

尝试解密加密数据时标签不匹配

我正在为我的 Java 编程课程开发一个项目来创建密码管理器,并且我正在致力于加密和解密我的密码。

我的加密部分工作正常,但我不断收到 javax.crypto.AEADBadTagException: 标签不匹配!错误。

这是完整的错误:

线程“主”javax.crypto.AEADBadTagException 中出现异常:标签不匹配!在 java.base/com.sun.crypto.provider.GaloisCounterMode.decryptFinal(GaloisCounterMode.java:580) 在 java.base/com.sun.crypto.provider.CipherCore.finalNoPadding(CipherCore.java:1116) 在 java.base /com.sun.crypto.provider.CipherCore.fillOutputBuffer(CipherCore.java:1053) 在 java.base/com.sun.crypto.provider.CipherCore.doFinal(CipherCore.java:853) 在 java.base/com.sun .crypto.provider.AESCipher.engineDoFinal(AESCipher.java:446) 在java.base/javax.crypto.Cipher.doFinal(Cipher.java:2202) 在PasswordVault.Decrypt(PasswordVault.java:89) 在PasswordVault.main(密码保管库.java:27)

我一直试图通过在这里的研究来自己找出这个错误,但我没有太多运气或不了解出了什么问题。

这是我的主要课程:

import java.io.UnsupportedEncodingException;
import java.security.*;
import java.util.ArrayList;
import java.util.Scanner;
import javax.crypto.BadPaddingException;
import javax.crypto.Cipher;
import javax.crypto.IllegalBlockSizeException;
import javax.crypto.NoSuchPaddingException;
import javax.crypto.KeyGenerator;
import javax.crypto.SecretKey;
import javax.crypto.spec.GCMParameterSpec;
import java.util.Base64;

public class PasswordVault {
    private static ArrayList<Password> passwordVault;
    public Scanner keyboard = new Scanner(System.in);
    public String website;
    public String username;
    private String password;
    private SecretKey key;

public static void main(String[] args) …
Run Code Online (Sandbox Code Playgroud)

java encryption

5
推荐指数
1
解决办法
1万
查看次数

如何将包含 Excel 序列日期和常规日期的列转换为 pandas 日期时间?

我有一个数据框,其中的生日具有与 Excel 序列日期混合的常规日期,如下所示:

09/01/2020 12:00:00 AM
05/15/1985 12:00:00 AM
06/07/2013 12:00:00 AM
33233
26299
29428
Run Code Online (Sandbox Code Playgroud)

我尝试了此答案中的解决方案,所有 Excel 串行格式的日期都被清空,同时保留正常日期格式的日期。

这是我的代码:

import pandas as pd
import xlrd
import numpy as np
from numpy import *
from numpy.core import *
import os
import datetime
from datetime import datetime, timedelta
import glob

def from_excel_ordinal(ordinal, _epoch0=datetime(1899, 12, 31)):
    if ordinal >= 60:
        ordinal -= 1  # Excel leap year bug, 1900 is not a leap year!
    return (_epoch0 + timedelta(days=ordinal)).replace(microsecond=0)

path = 'C:\\Input'
os.chdir(path) …
Run Code Online (Sandbox Code Playgroud)

python datetime dataframe pandas

5
推荐指数
1
解决办法
3514
查看次数

将Python列表导出到csv

所以我试图创建一个真值表,我可以导出为csv或excel格式.我是Python的新手,所以如果我的代码太可怕,请耐心等待.

经过一些研究后,我开始将其作为真值表的代码:

import itertools 
table = list(itertools.product([False, True], repeat=6)) 
print(table)
Run Code Online (Sandbox Code Playgroud)

然后我得到了这段代码:

import csv
import sys
with open('C:\\blahblah5.csv','w') as fout:
writer = csv.writer(fout, delimiter = ',')
writer.writerows(table)
Run Code Online (Sandbox Code Playgroud)

这让我几乎到了csv格式的真值表需要的地方.但是,当我在excel中打开文件时,我的记录之间插入了空白行.我尝试了一个在网上找到的提示,我需要将输入类型从w更改为wb,但是当我这样做时出现此错误:

Traceback (most recent call last):
File "<pyshell#238>", line 3, in <module>
writer3.writerows(table)
TypeError: 'str' does not support the buffer interface
Run Code Online (Sandbox Code Playgroud)

我不知道从哪里开始,因为我觉得我如此接近于将其变成我想要的格式.

python csv

4
推荐指数
1
解决办法
2940
查看次数

标签 统计

python ×2

csv ×1

dataframe ×1

datetime ×1

encryption ×1

java ×1

pandas ×1