首页 > 解决方案 > Python3 打印“ENC[PKCS7”和“]”之间的所有内容

问题描述

我正在从命令的输出中获取两个哈希值。两个哈希都以 ENC[BKSC8 和 in ] 开头,两个哈希都在命令输出期间显示。但它们以不同的格式显示。命令输出如下所示。这只是一个示例哈希:

string: ENC[BKSC8,l;kasjdfj;asldkfa;sdfja;dsjf;ajdskfjaksdfa;sldjfkajsdl;fjal;sdkjfajsfalsdf;asldkfa;sdfja;dsjf;ajdskfjaksdfa;sldjfkajsdl;fjal;sdkjfajsfalsdfl;kasjdfj;asldkfa;sdfja;dsjf;ajdskfjaksdfa;sldjfkajsdl;fjal;sdkjfajsfalsdfl;kasjdfj;asldkfa;sdfja;dsjf;ajdskfjaksdfa;sldjfkajsdl;fjal;sdkjfajsfalsdfl;kasjdfj;asldkfa;sdfja;dsjf;ajdskfjaksdfa;sldjfkajsdl;fjal;sdkjfajsfalsdfl;kasjdfj;asldkfa;sdfja;dsjf;ajdskfjaksdfa;sldjfkajsdl;fjal;sdkjfajsfalsdfl;kasjdfj;asldkfa;sdfja;dsjf;ajdskfjaksdfa;sldjfkajsdl;fjal;sdkjfajsfalsdfd]

OR

block: >
    ENC[BKSC8,l;kasjdfj;asldkfa;sdfja;dsjf;ajdskfjaksdfa;sldjfkal
    ;alsdjf;lasdjfljdlf;alsdfja;lsdfj;alsdjf;alsdkjf;laskdjf;lak
    ;alsdjf;lasdjfljdlf;alsdfja;lsdfj;alsdjf;alsdkjf;laskdjf;lak
    ;alsdjf;lasdjfljdlf;alsdfja;lsdfj;alsdjf;alsdkjf;laskdjf;lak
    ;alsdjf;lasdjfljdlf;alsdfja;lsdfj;alsdjf;alsdkjf;laskdjf;lak
    ;alsdjf;lasdjfljdlf;alsdfja;lsdfj;alsdjf;alsdkjf;laskdjf;lak
    ;alsdjf;lasdjfljdlf;alsdfja;lsdfj;alsdjf;alsdkjf;laskdjf;lak
    asdlad;fljasd;lfjasdjfl;kjal]

我已经尝试将命令输出放入一个循环中并拆分字符串,但是由于命令输出的格式化方式,这不起作用。

cmd = "my encryption command --BKSC8 my-file" (Just command example)
output = subprocess.getoutput(cmd)

for line in subprocess.getoutput(cmd).splitlines():
    if "[" and "]" in line:
        print(line)

我正在尝试以相同的格式输出两个哈希值。但只有两个哈希值。像下面这样并保持相同的格式。

string: ENC[BKSC8,l;kasjdfj;asldkfa;sdfja;dsjf;ajdskfjaksdfa;sldjfkajsdl;fjal;sdkjfajsfalsdf;asldkfa;sdfja;dsjf;ajdskfjaksdfa;sldjfkajsdl;fjal;sdkjfajsfalsdfl;kasjdfj;asldkfa;sdfja;dsjf;ajdskfjaksdfa;sldjfkajsdl;fjal;sdkjfajsfalsdfl;kasjdfj;asldkfa;sdfja;dsjf;ajdskfjaksdfa;sldjfkajsdl;fjal;sdkjfajsfalsdfl;kasjdfj;asldkfa;sdfja;dsjf;ajdskfjaksdfa;sldjfkajsdl;fjal;sdkjfajsfalsdfl;kasjdfj;asldkfa;sdfja;dsjf;ajdskfjaksdfa;sldjfkajsdl;fjal;sdkjfajsfalsdfl;kasjdfj;asldkfa;sdfja;dsjf;ajdskfjaksdfa;sldjfkajsdl;fjal;sdkjfajsfalsdfd]

OR

block: >
    ENC[BKSC8,l;kasjdfj;asldkfa;sdfja;dsjf;ajdskfjaksdfa;sldjfkal
    ;alsdjf;lasdjfljdlf;alsdfja;lsdfj;alsdjf;alsdkjf;laskdjf;lak
    ;alsdjf;lasdjfljdlf;alsdfja;lsdfj;alsdjf;alsdkjf;laskdjf;lak
    ;alsdjf;lasdjfljdlf;alsdfja;lsdfj;alsdjf;alsdkjf;laskdjf;lak
    ;alsdjf;lasdjfljdlf;alsdfja;lsdfj;alsdjf;alsdkjf;laskdjf;lak
    ;alsdjf;lasdjfljdlf;alsdfja;lsdfj;alsdjf;alsdkjf;laskdjf;lak
    ;alsdjf;lasdjfljdlf;alsdfja;lsdfj;alsdjf;alsdkjf;laskdjf;lak
    asdlad;fljasd;lfjasdjfl;kjal]

标签: pythonstringfiletext

解决方案


您是否尝试过使用正则表达式模式?我需要更多地了解命令输出还可能产生什么,但这种模式似乎适用于您提供的示例。

hashes = re.findall(r"ENC\[BKSC8[^\[]+\]",text)text命令的输出在哪里。 hashes是一个包含哈希的列表。例子:

import re

text = """
Junk
not stuff we want
faksdfjaksdlfjasdk;jf
123412341234
ENC[BKSC8,l;kasjdfj;asldkfa;sdfja;dsjf;ajdskfjaksdfa;sldjfkal
    ;alsdjf;lasdjfljdlf;alsdfja;lsdfj;alsdjf;alsdkjf;laskdjf;lak
    ;alsdjf;lasdjfljdlf;alsdfja;lsdfj;alsdjf;alsdkjf;laskdjf;lak
    ;alsdjf;lasdjfljdlf;alsdfja;lsdfj;alsdjf;alsdkjf;laskdjf;lak
    ;alsdjf;lasdjfljdlf;alsdfja;lsdfj;alsdjf;alsdkjf;laskdjf;lak
    ;alsdjf;lasdjfljdlf;alsdfja;lsdfj;alsdjf;alsdkjf;laskdjf;lak
    ;alsdjf;lasdjfljdlf;alsdfja;lsdfj;alsdjf;alsdkjf;laskdjf;lak
    asdlad;fljasd;lfjasdjfl;kjal]
more junk
more junk
block: >
    ENC[BKSC8,l;kasjdfj;asldkfa;sdfja;dsjf;ajdskfjaksdfa;sldjfkal
    ;alsdjf;lasdjfljdlf;alsdfja;lsdfj;alsdjf;alsdkjf;laskdjf;lak
    ;alsdjf;lasdjfljdlf;alsdfja;lsdfj;alsdjf;alsdkjf;laskdjf;lak
    ;alsdjf;lasdjfljdlf;alsdfja;lsdfj;alsdjf;alsdkjf;laskdjf;lak
    ;alsdjf;lasdjfljdlf;alsdfja;lsdfj;alsdjf;alsdkjf;laskdjf;lak
    ;alsdjf;lasdjfljdlf;alsdfja;lsdfj;alsdjf;alsdkjf;laskdjf;lak
    ;alsdjf;lasdjfljdlf;alsdfja;lsdfj;alsdjf;alsdkjf;laskdjf;lak
    asdlad;fljasd;lfjasdjfl;kjal]
"""

hashes = re.findall(r"ENC\[BKSC8[^\[]+\]",text)
for hash in hashes:
    print(hash)
    print("------------------")

产生以下输出:

ENC[BKSC8,l;kasjdfj;asldkfa;sdfja;dsjf;ajdskfjaksdfa;sldjfkal
    ;alsdjf;lasdjfljdlf;alsdfja;lsdfj;alsdjf;alsdkjf;laskdjf;lak
    ;alsdjf;lasdjfljdlf;alsdfja;lsdfj;alsdjf;alsdkjf;laskdjf;lak
    ;alsdjf;lasdjfljdlf;alsdfja;lsdfj;alsdjf;alsdkjf;laskdjf;lak
    ;alsdjf;lasdjfljdlf;alsdfja;lsdfj;alsdjf;alsdkjf;laskdjf;lak
    ;alsdjf;lasdjfljdlf;alsdfja;lsdfj;alsdjf;alsdkjf;laskdjf;lak
    ;alsdjf;lasdjfljdlf;alsdfja;lsdfj;alsdjf;alsdkjf;laskdjf;lak
    asdlad;fljasd;lfjasdjfl;kjal]
------------------
ENC[BKSC8,l;kasjdfj;asldkfa;sdfja;dsjf;ajdskfjaksdfa;sldjfkal
    ;alsdjf;lasdjfljdlf;alsdfja;lsdfj;alsdjf;alsdkjf;laskdjf;lak
    ;alsdjf;lasdjfljdlf;alsdfja;lsdfj;alsdjf;alsdkjf;laskdjf;lak
    ;alsdjf;lasdjfljdlf;alsdfja;lsdfj;alsdjf;alsdkjf;laskdjf;lak
    ;alsdjf;lasdjfljdlf;alsdfja;lsdfj;alsdjf;alsdkjf;laskdjf;lak
    ;alsdjf;lasdjfljdlf;alsdfja;lsdfj;alsdjf;alsdkjf;laskdjf;lak
    ;alsdjf;lasdjfljdlf;alsdfja;lsdfj;alsdjf;alsdkjf;laskdjf;lak
    asdlad;fljasd;lfjasdjfl;kjal]
------------------

推荐阅读