AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • Início
  • system&network
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • Início
  • system&network
    • Recentes
    • Highest score
    • tags
  • Ubuntu
    • Recentes
    • Highest score
    • tags
  • Unix
    • Recentes
    • tags
  • DBA
    • Recentes
    • tags
  • Computer
    • Recentes
    • tags
  • Coding
    • Recentes
    • tags
Início / coding / 问题

All perguntas(coding)

Martin Hope
Tux
Asked: 2025-02-07 03:41:24 +0800 CST

Implementação de C# para Python RSA

  • 10

Só estou tentando reescrever esse código c# para python. O servidor envia a chave pública (módulo, expoente), precisa criptografá-la com preenchimento pkcs1.

using (TcpClient client = new TcpClient())
{
    await client.ConnectAsync(ip, port);
    using (NetworkStream stream = client.GetStream())
    {
        await App.SendCmdToServer(stream, "auth", this.Ver.ToString().Split('.', StringSplitOptions.None));
        
        byte[] modulus = new byte[256];
        int num2 = await stream.ReadAsync(modulus, 0, modulus.Length);
        byte[] exponent = new byte[3];
        int num3 = await stream.ReadAsync(exponent, 0, exponent.Length);
        
        this.ServerRsa = RSA.Create();
        this.ServerRsa.ImportParameters(new RSAParameters()
        {
          Modulus = modulus,
          Exponent = exponent
        });

        using (MemoryStream data = new MemoryStream())
        {
          using (BinaryWriter writer = new BinaryWriter((Stream) data))
          {
            writer.Write(string1);
            writer.Write(string2);
            await App.SendDataToServer(stream, this.ServerRsa.Encrypt(data.ToArray(), RSAEncryptionPadding.Pkcs1));
          }
        }
    }
}

Tudo funciona bem, exceto o resultado criptografado pelo python. Eu tentei com rsae pycryptodome, sem sorte alguma, o servidor retorna reject. Tentei algo assim ( rsa)

server_rsa = rsa.newkeys(2048)[0]
server_rsa.n = int.from_bytes(modulus, byteorder='big')
server_rsa.e = int.from_bytes(exponent, byteorder='big')
data = (string1 + string2).encode()
encrypted_data = rsa.encrypt(data, server_rsa)

ou isto ( pycryptodome)

pubkey = construct((int.from_bytes(modulus, 'big'), int.from_bytes(exponent, 'big')))
cipher = PKCS1_v1_5.new(pubkey)
encrypted_data = cipher.encrypt(data)

Existe alguma implementação especial do Python RSA que não funciona com C#, ou vice-versa?

python
  • 1 respostas
  • 132 Views
Martin Hope
small_lebowski
Asked: 2025-02-06 19:54:07 +0800 CST

Agrupar strings e somá-las

  • 10

Tenho um problema muito parecido para resolver assim . No entanto, não estou interessado em classificar. Estou interessado em agrupar (palavra errada talvez) os mesmos objetos de string juntos e somar o valor anexado com string. Em segundo lugar, gostaria de remover uma string das linhas. Preparei um quadro de dados de exemplo. Preparei isso o mais próximo possível do post que mencionei anteriormente.

branch <- c("OL", "CA", "PL", "OR", "FL")
perf <- c("Mattheu (12), Jessica (32), Mattheu (22), Tom (10), HQ", 
          "Tobias (13), Kurt (22), Mathias (44), HQ, Tobias (55)",
          "Tom (30), HQ, Giti (88), Patel (54), Tom (12), Tom (10)",
          "Harry (1), Potter (32), Harry (2)",
          "Timothy (3), HQ, Sara (44), HQ"
          )
> performance <- data.frame(branch, perf)
> performance
  branch                                                    perf
1     OL  Mattheu (12), Jessica (32), Mattheu (22), Tom (10), HQ
2     CA   Tobias (13), Kurt (22), Mathias (44), HQ, Tobias (55)
3     PL Tom (30), HQ, Giti (88), Patel (54), Tom (12), Tom (10)
4     OR                       Harry (1), Potter (32), Harry (2)
5     FL                          Timothy (3), HQ, Sara (44), HQ

Na primeira linha, tenho Mattheu duas vezes. Quero tê-lo uma vez com os números somados. Isso significa que deve ser Mattheu (34). Em segundo lugar, gostaria de remover a string HQ.

Esta é a expectativa de saída da segunda coluna:

[1] "Mattheu (34), Jessica (32), Tom (10)"
[2] "Tobias (68), Kurt (22), Mathias (44)"
[3] "Tom (52), Giti (88), Patel (54)"     
[4] "Harry (3), Potter (32)"              
[5] "Timothy (3), Sara (44)"

Como obter o resultado esperado?

  • 4 respostas
  • 99 Views
Martin Hope
user21390049
Asked: 2025-02-05 19:58:10 +0800 CST

como encontrar caracteres únicos tanto na ordem para frente quanto para trás em R

  • 10

Tenho uma lista de personagens como esta:

list <- c('a_b', 'a_c', 'a_d', 'a_e', 'a_b', 'b_a', 'b_c', 'b_c','c_b')

Quero ter uma lista de caracteres únicos sem mais 'b_a', 'c_b'. Tentei unique(), mas ele não consegue remover 'b_a' e 'c_b'. Espero receber alguma ajuda sobre isso. Muito obrigado!

  • 4 respostas
  • 82 Views
Martin Hope
Sun Jar
Asked: 2025-02-04 17:28:01 +0800 CST

Pandas aplicam função retorna uma lista para uma nova coluna

  • 10

Eu tenho um dataframe pandas:

import pandas as pd
import numpy as np

np.random.seed(150)
df = pd.DataFrame(np.random.randint(0, 10, size=(10, 2)), columns=['A', 'B'])

Quero adicionar uma nova coluna "C" cujos valores são a lista combinada de cada três linhas na coluna "B". Então, uso o método a seguir para atingir minhas necessidades, mas esse método é lento quando os dados são grandes.

>>> df['C'] = [df['B'].iloc[i-2:i+1].tolist() if i >= 2 else None for i in range(len(df))]
>>> df
   A  B          C
0  4  9       None
1  0  2       None
2  4  5  [9, 2, 5]
3  7  9  [2, 5, 9]
4  8  3  [5, 9, 3]
5  8  1  [9, 3, 1]
6  1  4  [3, 1, 4]
7  4  1  [1, 4, 1]
8  1  9  [4, 1, 9]
9  3  7  [1, 9, 7]

Quando tento usar a função df.apply, recebo uma mensagem de erro:

df['C'] = df['B'].rolling(window=3).apply(lambda x: list(x), raw=False)

TypeError: must be real number, not list

Lembro que o pandas apply não parece retornar uma lista, então há uma maneira melhor? Procurei no fórum, mas não consegui encontrar um tópico adequado sobre apply e return.

python
  • 2 respostas
  • 78 Views
Martin Hope
sakshi rawal
Asked: 2025-01-22 22:05:12 +0800 CST

Como corrigir o tempo limite da função Lambda ao interagir com o DynamoDB usando o AWS SDK v3 no Node.js?

  • 10

Estou construindo uma API serverless com Node.js usando AWS Lambda, e minha função interage com o DynamoDB para recuperar dados. No entanto, toda vez que tento interagir com o DynamoDB, a função Lambda atinge o tempo limite antes que a solicitação seja concluída.

Configurei corretamente a função de execução da minha função Lambda com as permissões necessárias e assegurei que o AWS SDK v3 ( @aws-sdk/client-dynamodb) esteja instalado e inicializado corretamente. Apesar disso, a função Lambda atinge o tempo limite sem consultar o DynamoDB com sucesso.

Aqui está o que eu fiz até agora:

  • O tempo limite da função Lambda foi configurado para 30 segundos, mas ele ainda atinge o tempo limite.

  • Verifiquei as permissões para a função Lambda, que inclui acesso ao DynamoDB.

  • Eu usei async/awaitpara lidar com solicitações assíncronas.

Espero que a função Lambda seja concluída com sucesso e retorne dados do DynamoDB sem nenhum tempo limite.

  • Tentei aumentar o tempo limite da função Lambda para 30 segundos.

  • Tentei ajustar a capacidade de leitura/gravação da tabela do DynamoDB, mas isso não resolveu o problema.

  • Eu esperava que a função Lambda fosse executada sem atingir o tempo limite e recuperasse os dados do DynamoDB com sucesso.

Task timed out after 30.01 seconds

const { DynamoDBClient, GetItemCommand } = require("@aws-sdk/client-dynamodb");

const client = new DynamoDBClient({ region: "us-east-1" });

const params = {
  TableName: "MyTable",
  Key: { "id": { S: "123" } }
};

exports.handler = async (event) => {
  try {
    const data = await client.send(new GetItemCommand(params));
    return {
      statusCode: 200,
      body: JSON.stringify(data),
    };
  } catch (err) {
    console.error("Error", err);
    return {
      statusCode: 500,
      body: JSON.stringify({ error: "Could not retrieve data" }),
    };
  }
};

Verifiquei que a tabela do DynamoDB existe e contém dados para o fornecido id, mas a função Lambda ainda atinge o tempo limite.

  • 2 respostas
  • 26 Views
Martin Hope
miroslaavi
Asked: 2025-01-21 22:29:57 +0800 CST

Como calcular a mediana horizontal

  • 10

Como calcular a mediana horizontal para colunas numéricas?

df = pl.DataFrame({"ABC":["foo", "bar", "foo"], "A":[1,2,3], "B":[2,1,None], "C":[1,2,3]})
print(df)

shape: (3, 4)
┌─────┬─────┬──────┬─────┐
│ ABC ┆ A   ┆ B    ┆ C   │
│ --- ┆ --- ┆ ---  ┆ --- │
│ str ┆ i64 ┆ i64  ┆ i64 │
╞═════╪═════╪══════╪═════╡
│ foo ┆ 1   ┆ 2    ┆ 1   │
│ bar ┆ 2   ┆ 1    ┆ 2   │
│ foo ┆ 3   ┆ null ┆ 3   │
└─────┴─────┴──────┴─────┘

Quero obter o mesmo que com o pl.mean_horizontal abaixo, mas obter mediana em vez da média. Não encontrei expressão existente para isso.

print(df.with_columns(pl.mean_horizontal(pl.col(pl.Int64)).alias("Horizontal Mean")))

shape: (3, 5)
┌─────┬─────┬──────┬─────┬─────────────────┐
│ ABC ┆ A   ┆ B    ┆ C   ┆ Horizontal Mean │
│ --- ┆ --- ┆ ---  ┆ --- ┆ ---             │
│ str ┆ i64 ┆ i64  ┆ i64 ┆ f64             │
╞═════╪═════╪══════╪═════╪═════════════════╡
│ foo ┆ 1   ┆ 2    ┆ 1   ┆ 1.333333        │
│ bar ┆ 2   ┆ 1    ┆ 2   ┆ 1.666667        │
│ foo ┆ 3   ┆ null ┆ 3   ┆ 3.0             │
└─────┴─────┴──────┴─────┴─────────────────┘
python
  • 2 respostas
  • 75 Views
Martin Hope
the_wicked
Asked: 2025-01-17 23:36:47 +0800 CST

Como dividir uma matriz no MATLAB em N^2 segmentos, cada um com NxN elementos?

  • 10

Supondo que temos uma matriz M de tamanho N^2 x N^2 elementos (por exemplo, 9x9), qual é a maneira mais rápida de dividi-la em segmentos de 3x3 (cada um com 3x3 elementos)?

Uma maneira que me vem à mente é a seguinte:

M = magic(9);
N = 3; 

m = mat2cell(M, N * ones(1, size(M, 1) / N), ...
                N * ones(1, size(M, 2) / N));

Eu, no entanto, não prefiro o uso de células. Fiquei curioso para saber se há uma maneira de dividir a matriz e armazenar os segmentos na forma de uma matriz 3D usando uma indexação de coluna principal para os segmentos (por exemplo, o primeiro segmento m{1} se torna m(:, :, 1) e o segundo segmento m{2} se torna m(:, :, 2), e assim por diante).

arrays
  • 4 respostas
  • 72 Views
Martin Hope
Samuel Allain
Asked: 2025-01-17 22:20:56 +0800 CST

Como reciclar uma lista para criar uma nova coluna?

  • 10

Como posso criar a typecoluna reciclando uma lista de dois elementos ["lat","lon"]?

endereço coordenar tipo
"lugar 1" 48.943837 tarde
"lugar 1" 2.387917 muito tempo
"lugar 2" 37.843837 tarde
"lugar 2" 6.387917 muito tempo

Como seria feito automaticamente em R comd$type <- c("lat","lon")

Reprex:

d0 = pl.DataFrame(
    {
        "adresse": ["place 1", "place 2"],
        "coord": [[48.943837, 2.387917], [37.843837, 6.387917]],
    }
)
d1 = d0.explode("coord")

O que eu tentei:

d1 = d1.with_columns(type=pl.Series(["1","2"]))
# ShapeError: unable to add a column of length 2 to a DataFrame of height 4

d1 = d1.join(pl.DataFrame({"id":["1", "2"]}), how="cross")
# logically, 8 rows instead of 4
python
  • 3 respostas
  • 77 Views
Martin Hope
davidalayachew
Asked: 2025-01-14 11:39:26 +0800 CST

Há alguma diferença entre exceções verificadas e não verificadas em tempo de execução?

  • 10

Checked Exceptions são poderosas porque permitem que você force o site de uso a lidar com um caso excepcional. Se o site de uso não lidar com um caso excepcional (ou anunciar publicamente que não está lidando com ele), o código falhará na compilação.

No entanto, isso é tempo de compilação. E quanto ao Runtime?

Há alguma diferença significativa entre exceções verificadas e não verificadas em tempo de execução?

A única coisa que consigo pensar é que as Exceções Não Verificadas estendem RuntimeException, mas não vejo nenhuma propriedade RuntimeExceptionque permita que elas sejam tratadas de forma diferente em TEMPO DE EXECUÇÃO.

java
  • 2 respostas
  • 73 Views
Martin Hope
Fedor
Asked: 2025-01-13 04:11:26 +0800 CST

Constante de escopo local como argumento padrão da função

  • 10

A declaração de função em um escopo de função pode ter uma constante definida localmente como argumento padrão?

Por exemplo,

void f(int) {}

int main() {
    constexpr int c = 1;
    void f(int = c);
    f();
}

O GCC não gosta disso, dizendo

erro: a variável local 'c' pode não aparecer neste contexto

O MSVC se comporta de forma semelhante:

erro C2587: 'c': uso ilegal de variável local como parâmetro padrão

Mas Clang aceita muito bem. Demonstração online: https://gcc.godbolt.org/z/9vWoK6TEz

Qual implementação está correta aqui?

c++
  • 1 respostas
  • 125 Views
Prev
Próximo

Sidebar

Stats

  • Perguntas 205573
  • respostas 270741
  • best respostas 135370
  • utilizador 68524
  • Highest score
  • respostas
  • Marko Smith

    Reformatar números, inserindo separadores em posições fixas

    • 6 respostas
  • Marko Smith

    Por que os conceitos do C++20 causam erros de restrição cíclica, enquanto o SFINAE antigo não?

    • 2 respostas
  • Marko Smith

    Problema com extensão desinstalada automaticamente do VScode (tema Material)

    • 2 respostas
  • Marko Smith

    Vue 3: Erro na criação "Identificador esperado, mas encontrado 'import'" [duplicado]

    • 1 respostas
  • Marko Smith

    Qual é o propósito de `enum class` com um tipo subjacente especificado, mas sem enumeradores?

    • 1 respostas
  • Marko Smith

    Como faço para corrigir um erro MODULE_NOT_FOUND para um módulo que não importei manualmente?

    • 6 respostas
  • Marko Smith

    `(expression, lvalue) = rvalue` é uma atribuição válida em C ou C++? Por que alguns compiladores aceitam/rejeitam isso?

    • 3 respostas
  • Marko Smith

    Um programa vazio que não faz nada em C++ precisa de um heap de 204 KB, mas não em C

    • 1 respostas
  • Marko Smith

    PowerBI atualmente quebrado com BigQuery: problema de driver Simba com atualização do Windows

    • 2 respostas
  • Marko Smith

    AdMob: MobileAds.initialize() - "java.lang.Integer não pode ser convertido em java.lang.String" para alguns dispositivos

    • 1 respostas
  • Martin Hope
    Fantastic Mr Fox Somente o tipo copiável não é aceito na implementação std::vector do MSVC 2025-04-23 06:40:49 +0800 CST
  • Martin Hope
    Howard Hinnant Encontre o próximo dia da semana usando o cronógrafo 2025-04-21 08:30:25 +0800 CST
  • Martin Hope
    Fedor O inicializador de membro do construtor pode incluir a inicialização de outro membro? 2025-04-15 01:01:44 +0800 CST
  • Martin Hope
    Petr Filipský Por que os conceitos do C++20 causam erros de restrição cíclica, enquanto o SFINAE antigo não? 2025-03-23 21:39:40 +0800 CST
  • Martin Hope
    Catskul O C++20 mudou para permitir a conversão de `type(&)[N]` de matriz de limites conhecidos para `type(&)[]` de matriz de limites desconhecidos? 2025-03-04 06:57:53 +0800 CST
  • Martin Hope
    Stefan Pochmann Como/por que {2,3,10} e {x,3,10} com x=2 são ordenados de forma diferente? 2025-01-13 23:24:07 +0800 CST
  • Martin Hope
    Chad Feller O ponto e vírgula agora é opcional em condicionais bash com [[ .. ]] na versão 5.2? 2024-10-21 05:50:33 +0800 CST
  • Martin Hope
    Wrench Por que um traço duplo (--) faz com que esta cláusula MariaDB seja avaliada como verdadeira? 2024-05-05 13:37:20 +0800 CST
  • Martin Hope
    Waket Zheng Por que `dict(id=1, **{'id': 2})` às vezes gera `KeyError: 'id'` em vez de um TypeError? 2024-05-04 14:19:19 +0800 CST
  • Martin Hope
    user924 AdMob: MobileAds.initialize() - "java.lang.Integer não pode ser convertido em java.lang.String" para alguns dispositivos 2024-03-20 03:12:31 +0800 CST

Hot tag

python javascript c++ c# java typescript sql reactjs html

Explore

  • Início
  • Perguntas
    • Recentes
    • Highest score
  • tag
  • help

Footer

AskOverflow.Dev

About Us

  • About Us
  • Contact Us

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve