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 / user-446921

RocketNuts's questions

Martin Hope
RocketNuts
Asked: 2022-12-25 13:26:49 +0800 CST

sed in bash: '-n' como entrada é tratado de forma diferente?

  • 6

Estou lutando com um problema sedno bash que ocorre no macOS e no Ubuntu. Durante uma longa sessão de depuração, apontei para este exemplo mínimo:

echo "abcde" | sed 's/.*/x/'
o que resulta em:

x

O que faz sentido, pois o regex in sedsubstitui qualquer entrada por x.

De forma similar:

echo "" | sed 's/.*/x/'

x

echo "-a" | sed 's/.*/x/'

x

Et cetera. No entanto:

echo "-n" | sed 's/.*/x/'

Observe que a saída agora está vazia .

O que está acontecendo? Por que "-n"uma entrada deve ser sedtratada de maneira diferente de qualquer outra (ou nenhuma) entrada?

linux
  • 1 respostas
  • 29 Views
Martin Hope
RocketNuts
Asked: 2022-10-12 02:12:37 +0800 CST

Bash: truncar ou cortar parte do arquivo binário ou stdin na CLI?

  • 5

Se eu tiver um arquivo binário, ou algum comando com uma saída binária bruta, e estou procurando um comando shell (bash) para cortar uma parte específica dos dados, ou seja, com determinado início e comprimento ou deslocamento final em bytes.

Por exemplo, suponha que file.bincontém abcdefghijk, eu faria algo como:

cat file.bin | crop 5 3

Para indicar que quero manter apenas a parte do deslocamento 5 com comprimento 3, para que este exemplo produza fgh.

Eu sei que existe o cutcomando, mas ele funciona no conteúdo do texto e processa a entrada linha por linha. No meu caso, normalmente estou lidando com dados binários, portanto, não há conceito de linhas. Eu simplesmente quero especificar a parte a ser cortada em bytes.

Existe uma alternativa binária para cut?

linux command-line
  • 2 respostas
  • 20 Views
Martin Hope
RocketNuts
Asked: 2022-07-01 06:19:31 +0800 CST

Excel / LibreOffice Calc: encontrar item na coluna com a primeira ocorrência mais recente?

  • 6

Em uma planilha do Calc ou Excel eu tenho uma coluna com vários nomes. Cada nome pode ocorrer uma ou várias vezes.

Cada nome tem uma 'primeira ocorrência', ou seja, a primeira linha em que aparece.

Estou procurando uma expressão ou fórmula para encontrar o nome com a primeira ocorrência mais recente .

Um exemplo para esclarecer:

Nome
1 Alice
2 Charlie
3 Prumo
4 Véspera
5 Charlie
6 Davi
7 Prumo
8 Alice
9 Davi
10 Charlie
11 Véspera

Davidprimeira ocorrência é a linha 6, todos os outros nomes aparecem mais cedo (e também mais abaixo, mas estou interessado apenas na primeira ocorrência). Então, neste caso, o nome que eu quero é David.

Eu provavelmente posso pensar em uma solução muito projetada com colunas sobressalentes e mecanismos de classificação, mas sinto que provavelmente há uma maneira mais fácil de fazer isso.

microsoft-excel worksheet-function
  • 2 respostas
  • 34 Views
Martin Hope
RocketNuts
Asked: 2021-10-03 11:15:15 +0800 CST

Criptografia LibreSSL aes incompatível com OpenSSL?

  • 6

A máquina A tem OpenSSL 1.0.2k e eu criptografo um arquivo fictício como este:

openssl enc -aes-256-cbc -salt -in plain.txt -e -pass pass:abcd1234 -out cipher.enc

A máquina B tem o LibreSSL 3.3.3 e quando descriptografo o arquivo da máquina A assim:

openssl enc -aes-256-cbc -in cipher.enc -d -pass pass:abcd1234 -out plain.txt

Ele não consegue descriptografar, dando este erro:

descriptografia ruim
4444794304:error:06FFF064:rotinas de envelope digital:CRYPTO_internal:descriptografia ruim:evp/evp_enc.c:549:

Observe que, se eu tentar descriptografá-lo usando a mesma linha de comando na máquina A, funcionará bem.

Não sei o quão desatualizado o OpenSSL 1.0.2k está, mas infelizmente não tenho controle sobre a atualização (é um servidor remoto de terceiros).

Existe uma incompatibilidade entre OpenSSL e LibreSSL ao usar a criptografia AES?

encryption openssl
  • 1 respostas
  • 923 Views
Martin Hope
RocketNuts
Asked: 2020-09-20 03:09:17 +0800 CST

O OpenSSL instalado com o Homebrew no macOS 10.15.6 parece estar travado na versão @1.1, obtendo a versão mais recente?

  • 6

Estou usando macOS 10.15.6 Catalina e Homebrew (versão mais recente, 2.5.1). Quando eu brew listpercebo que existe [email protected]na minha lista de fórmulas instaladas.

Não me lembro se alguma vez instalei opensslmanualmente ou se veio com outra fórmula, mas certamente nunca escolhi explicitamente a @1.1versão.

Quando eu faço openssl versionisso diz LibreSSL 2.8.3.

Quando eu faço brew install opensslisso diz:

Aviso: [email protected] 1.1.1g já está instalado e atualizado
Para reinstalar o 1.1.1g, executebrew reinstall [email protected]

Em vez disso, tentei brew install libressl. Isso instala OK, mas quando eu faço openssl versionisso ainda diz LibreSSL 2.8.3.

No entanto, se eu fizer /usr/local/opt/libressl/bin/openssl versionisso, diz o LibreSSL 3.1.4que parece mais atualizado. Agora, aparentemente, duas versões estão instaladas, mas a versão 'padrão' ainda é a versão mais antiga.

Duas questões:

  1. Eu só quero usar o mais recente openssl (ou libressl). Quando eu executar openssl, quero que invoque a versão mais recente disponível. Posso ou devo de alguma forma me livrar da @1.1versão e apenas instalar o openssl mais recente? Ou instale o libressl como eu fiz, mas quero que seja o padrão, não o antigo.

  2. Considerando que a versão @1.1 provavelmente estará lá por um motivo, isso pode significar que algum outro software, dependendo dessa versão específica, não funcionará mais? Isso meio que parece ruim, por exemplo, e se eu tiver dois softwares que dependem de uma versão específica diferente? Posso instruir o software que depende de versões mais antigas do openssl a usar um caminho específico para essa versão mais antiga, mantendo apenas openssl(sem caminho explícito) o mais recente?

installation openssl
  • 1 respostas
  • 3844 Views
Martin Hope
RocketNuts
Asked: 2020-09-17 04:23:13 +0800 CST

Ao usar o openssl enc -camellia256, qual modo de bloco ele usa?

  • 6

Ao criptografar um arquivo opensslusando a cifra Camellia de 256 bits, você pode especificar explicitamente o modo de bloqueio (por exemplo, camellia-256-cfbou camellia-256-ofbetc). No entanto, se você usar apenas a -camellia256opção sem modo de bloco, qual é o modo implícito assumido?

Tentei descobrir criptografando o mesmo arquivo com todos os modos diferentes, usando um iv fictício fixo e uma chave, assim:

#!/usr/bin/env bash

# create 1MB file with random data
openssl rand 1048576 -out random.bin

iv='11111111111111111111111111111111'
key='2222222222222222222222222222222222222222222222222222222222222222'
ciphers=(camellia256 camellia-256-cfb camellia-256-cfb1 camellia-256-cfb8 camellia-256-ecb camellia-256-ofb)

for c in ${ciphers[*]}; do
  # encrypt
  openssl enc -$c -iv $iv -K $key -in random.bin -out random-$c.bin
  # show hash of encrypted result
  openssl dgst -sha256 random-$c.bin
done

E a saída é:

SHA256(random-camellia256.bin)= 5625222f4bc4dd0e690ebfd24ade853f22d5155584756d9da41b6d8657d01a75
SHA256(random-camellia-256-cfb.bin)= 2b57e9cd8566af072a6162b21dc4e69337d2a9a23443fc7c25c0c1eba7f2d6eb
SHA256(random-camellia-256-cfb1.bin)= ae96dc3bdea49ec1d5c706db7f4e097f8e4e641abf2bb108eb57aa90d00eb84e
SHA256(random-camellia-256-cfb8.bin)= 7266631c9616fbfc00039dd868ba74af09d8829af11b45d83d46cb12925dceb2
SHA256(random-camellia-256-ecb.bin)= f91f4d164d40e7abb2b6a11e051d12ff82d256e4f52437d9f8997670cdb337b8
SHA256(random-camellia-256-ofb.bin)= 79a29d5790a68498ca90acb8b19fcb4e2a0066527a9de2419b9633d9f3cbaa6e

Claro que é diferente toda vez que executo o script, devido à entrada aleatória.

Como alternativa, se eu usar um arquivo preenchido com zeros (0x00 bytes) em vez de dados aleatórios, assim:

dd bs=1048576 count=1 if=/dev/zero of=zeroes.bin

A saída é:

SHA256(zeroes-camellia256.bin)= 22116d07d0c5b43e736f9990ad3f48c7710fe78ba1d6bb993dfa5a6d3a6fb133
SHA256(zeroes-camellia-256-cfb.bin)= cc75fc3257959bcaee12de3da7ef547d2f548a936d9068abde103c158d9540a8
SHA256(zeroes-camellia-256-cfb1.bin)= 912dc60b10bfad7d33fed18c1419f83437fcf84708a9336f3bbcf0a6164cd70d
SHA256(zeroes-camellia-256-cfb8.bin)= 70d340b32f58c9f2169a91c20698893046b76cd560e7a0fe2a1001591990fb8e
SHA256(zeroes-camellia-256-ecb.bin)= b9fdd441312bf9992fdca2fbbdbc165a738359312de53b0ddc71e383880cd43f
SHA256(zeroes-camellia-256-ofb.bin)= cc75fc3257959bcaee12de3da7ef547d2f548a936d9068abde103c158d9540a8

Observe como as saídas cfbe são as mesmas aqui. ofbMas isso provavelmente se deve a como esses modos de bloco definem o fluxo de cifra com base nos dados de entrada.

De qualquer forma, aquele sem um modo de bloco explicitamente definido é novamente diferente de todos os outros.

Então, minha pergunta é: qual modo de bloco o openssl usa quando eu especifico -camellia256como o algoritmo de cifra?

A propósito, quando testo o mesmo com AES em vez de Camellia, parece que aes256é o mesmo que aes-256-cbc.

openssl blocking
  • 1 respostas
  • 155 Views
Martin Hope
RocketNuts
Asked: 2020-07-28 06:57:00 +0800 CST

Gimp: abrindo a área de transferência como nova imagem, com tamanho/dimensões de pixel corretos?

  • 7

Muitas vezes me pego tendo uma imagem na minha área de transferência e quero editá-la rapidamente no Gimp.

Então eu ⌘+ Tabto Gimp (usando o Gimp mais recente no macOS Catalina) e faço ⌘+ Npara New Image.

Problema: agora ele mostra um novo tamanho de imagem padrão, normalmente 1920 x 1200, enquanto eu prefiro que ele use a resolução do conteúdo da área de transferência. Neste momento tenho de:

  1. amplie a tela para algo muito grande (geralmente não sei exatamente o tamanho real da imagem da área de transferência)
  2. colar área de transferência como camada
  3. transforme isso em uma nova camada (por padrão, é uma seleção flutuante, ainda não uma camada)
  4. clique com o botão direito na camada na lista de camadas e selecione Alfa para seleção
  5. escolha Imagem > Cortar para Seleção

Parece meio ineficiente. Seria ótimo se o Gimp pudesse assumir as dimensões de qualquer imagem que esteja na área de transferência (se houver) como o tamanho padrão. Na verdade, o Photoshop faz isso, imho muito prático.

Isso é possível no Gimp?

resolution clipboard
  • 1 respostas
  • 967 Views
Martin Hope
RocketNuts
Asked: 2020-05-10 11:22:30 +0800 CST

Gimp: colar a imagem (da área de transferência) como nova camada e recortar o documento no tamanho dessa camada?

  • 5

Usando a versão mais recente do Gimp (2.10) no macOS Catalina.

Eu tenho uma imagem na minha área de transferência. Mudo para o Gimp, onde tenho um documento de trabalho (imagem) aberto. Como é que eu:

  1. cole a imagem da minha área de transferência como uma nova camada, posso fazer ⌘+ Vpara colá-la, que a mostrará como uma 'Seleção flutuante (camada colada)' .

  2. Como movo a camada? Quando uso a ferramenta Mover, ela parece mover a camada de fundo subjacente.

  3. É possível mover/dimensionar/girar/inclinar a nova camada semelhante à ferramenta 'Free Transform' do Photoshop? Quero dizer, onde a camada obtém 8 pontos de controle temporários ou âncoras nos cantos e bordas, onde posso esticá-la em qualquer direção (com ou sem manter a proporção mantendo-a pressionada Shiftou algo assim) ou movê-la ou girá-la?

  4. Como faço para recortar a imagem no tamanho da camada recém colada?

PS desculpas se estas são perguntas retardadas, completamente novas para o Gimp, tentando mudar do Photoshop.

gimp clipboard
  • 1 respostas
  • 800 Views
Martin Hope
RocketNuts
Asked: 2020-03-24 07:54:27 +0800 CST

Gerando par de chaves público + privado para SSH: diferença entre ssh-keygen e openssl?

  • 8

Desejo criar pares de chaves pública e privada a serem usados ​​para autenticação SSH.

Não consigo entender a diferença entre isso:

openssl genrsa -out MyPrivateKey 4096
openssl rsa -in MyPrivateKey -pubout -out MyPublicKey

que primeiro cria uma chave RSA privada e então deriva a chave pública dela, ou:

ssh-keygen -b 4096 -t rsa -f MyFancyKey

que cria uma chave RSA privada no arquivo 'MyFancyKey' e a chave pública correspondente em 'MyFancyKey.pub'.

A estrutura das chaves privadas parece um pouco semelhante, embora a criada com opensslcomece com:
-----BEGIN RSA PRIVATE KEY-----

E o de ssh-keygencomeça com:
-----BEGIN OPENSSH PRIVATE KEY-----

Existe uma diferença fundamental entre esses dois tipos de chaves?


Em seguida, as chaves públicas correspondentes, a de opensslcontém:

-----BEGIN PUBLIC KEY-----
  ...base64 encoded...
-----BEGIN PUBLIC KEY-----

Enquanto o de ssh-keygencontém apenas uma linha:
ssh-rsa XXXXXX...base64 encoded...XXXXX [email protected]

Esses são essencialmente os mesmos tipos de dados, mas formatados de maneira diferente? Ou são realmente incompatíveis?

Estou tentando entender completamente como tudo isso funciona em relação ao SSH. Por exemplo, por que meu nome de usuário, meu nome de computador e meu nome de rede local estão nessa chave, normalmente não deveria ser usado para acessar o SSH em outros computadores? Com meu nome de usuário naquele computador, não meu.

ssh openssh
  • 1 respostas
  • 5333 Views

Sidebar

Stats

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

    Como posso reduzir o consumo do processo `vmmem`?

    • 11 respostas
  • Marko Smith

    Baixar vídeo do Microsoft Stream

    • 4 respostas
  • Marko Smith

    O Google Chrome DevTools falhou ao analisar o SourceMap: chrome-extension

    • 6 respostas
  • Marko Smith

    O visualizador de fotos do Windows não pode ser executado porque não há memória suficiente?

    • 5 respostas
  • Marko Smith

    Como faço para ativar o WindowsXP agora que o suporte acabou?

    • 6 respostas
  • Marko Smith

    Área de trabalho remota congelando intermitentemente

    • 7 respostas
  • Marko Smith

    O que significa ter uma máscara de sub-rede /32?

    • 6 respostas
  • Marko Smith

    Ponteiro do mouse movendo-se nas teclas de seta pressionadas no Windows?

    • 1 respostas
  • Marko Smith

    O VirtualBox falha ao iniciar com VERR_NEM_VM_CREATE_FAILED

    • 8 respostas
  • Marko Smith

    Os aplicativos não aparecem nas configurações de privacidade da câmera e do microfone no MacBook

    • 5 respostas
  • Martin Hope
    Vickel O Firefox não permite mais colar no WhatsApp web? 2023-08-18 05:04:35 +0800 CST
  • Martin Hope
    Saaru Lindestøkke Por que os arquivos tar.xz são 15x menores ao usar a biblioteca tar do Python em comparação com o tar do macOS? 2021-03-14 09:37:48 +0800 CST
  • Martin Hope
    CiaranWelsh Como posso reduzir o consumo do processo `vmmem`? 2020-06-10 02:06:58 +0800 CST
  • Martin Hope
    Jim Pesquisa do Windows 10 não está carregando, mostrando janela em branco 2020-02-06 03:28:26 +0800 CST
  • Martin Hope
    andre_ss6 Área de trabalho remota congelando intermitentemente 2019-09-11 12:56:40 +0800 CST
  • Martin Hope
    Riley Carney Por que colocar um ponto após o URL remove as informações de login? 2019-08-06 10:59:24 +0800 CST
  • Martin Hope
    zdimension Ponteiro do mouse movendo-se nas teclas de seta pressionadas no Windows? 2019-08-04 06:39:57 +0800 CST
  • Martin Hope
    jonsca Todos os meus complementos do Firefox foram desativados repentinamente, como posso reativá-los? 2019-05-04 17:58:52 +0800 CST
  • Martin Hope
    MCK É possível criar um código QR usando texto? 2019-04-02 06:32:14 +0800 CST
  • Martin Hope
    SoniEx2 Altere o nome da ramificação padrão do git init 2019-04-01 06:16:56 +0800 CST

Hot tag

windows-10 linux windows microsoft-excel networking ubuntu worksheet-function bash command-line hard-drive

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