Questions tagged «cipher»

对于以某种方式与使用经典(笔和纸)密码编码消息有关的挑战。对于AES等现代密码,请改用[encryption]标签。

30
让我们做一些“ deciph4r4ng”
在这个挑战中,您的任务是解密字符串。幸运的是,该算法非常简单:从左向右读取,遇到的每个数字N(0至9)必须替换为字符N + 1个位置。 例 输入字符串"Prog2am0in6"将通过以下方式解码: 因此,预期输出为"Programming"。 澄清和规则 输入字符串将仅包含32-126范围内的ASCII字符。您可以假设它永远不会为空。 原始解密的字符串保证不包含任何数字。 字符一旦被解码,就可以由随后的数字引用。例如,"alp2c1"应解码为"alpaca"。 引用永远不会环绕字符串:只能引用以前的字符。 您可以编写完整的程序或函数,以打印或输出结果。 这是代码高尔夫,所以最短的答案以字节为单位。 禁止出现标准漏洞。 测试用例 Input : abcd Output: abcd Input : a000 Output: aaaa Input : ban111 Output: banana Input : Hel0o W2r5d! Output: Hello World! Input : this 222a19e52 Output: this is a test Input : golfin5 3s24o0d4f3r3y3u …

13
579085261是CRAZY,725582是GOLF,10757494是…?
您的任务是使用以下描述的方法将103平滑数字转换成英文单词。 怎么样? 生成输入数字的主要因子列表(重复)。 排序列表: 如果2不是主要因素之一,请按升序对列表进行排序。 如果2是主要因素之一,请从列表中将其删除,然后按降序对其余因素进行排序。 使用下表将每个因子转换为字母: 3 = S 13 = L 29 = X 43 = O 61 = Z 79 = H 101 = K 5 = P 17 = Q 31 = N 47 = R 67 = T 83 = V 103 = Y 7 …

17
让我们做一些“ enciph5r47g”
这是让我们做一些“ deciph4r4ng”的逆过程 在这个挑战中,您的任务是加密字符串。幸运的是,该算法非常简单:从左向右读取,每个典型的书写字符(ASCII范围32-126)必须替换为数字N(0-9),以表示它与字符N + 1相同之前的位置。例外是该字符未出现在原始字符串的前10个位置内。在这种情况下,您只需简单地再次打印字符。有效地,您应该能够从原始挑战中撤消操作。 例 输入字符串"Programming"将以这种方式编码: 因此,预期输出为"Prog2am0in6"。 澄清和规则 输入字符串将仅包含32-126范围内的ASCII字符。您可以假设它永远不会为空。 保证原始字符串不包含任何数字。 字符一旦被编码,就可以由随后的数字来引用。例如,"alpaca"应编码为"alp2c1"。 引用永远不会环绕字符串:只能引用以前的字符。 您可以编写完整的程序或函数,以打印或输出结果。 这是代码高尔夫,所以最短的答案以字节为单位。 禁止出现标准漏洞。 测试用例 Input : abcd Output: abcd Input : aaaa Output: a000 Input : banana Output: ban111 Input : Hello World! Output: Hel0o W2r5d! Input : this is a test Output: this 222a19e52 Input : …

19
改良的凯撒猪拉丁密码
凯撒密码的问题在于,所产生的单词通常不发音。Pig Latin的问题在于它易于解码。为什么不将它们结合起来? 输入值 由26个英文字母组成的单词。 输出量 首先,将单词中的每个辅音更改为字母表中的下一个辅音。因此,b转到c,d转到f,z转到b。然后,将每个元音更改为字母表中的下一个元音(u转到a)。最后,仅当单词的第一个字母为辅音时,才将该字母移到单词的末尾并在单词的末尾添加“ ay”。 例子: cat -> evday dog -> uhfay eel -> iim 这是代码高尔夫球,因此最短的代码获胜。 大小写无所谓。 将使用的元音是A,E,I,O和U

17
解密Vigenère密文
根据一位密钥,Vigenère密码是一种简单的多字母密码,基本上使用了几种Caesar密码之一。通常,键中的字母表示要使用的移位字母。为此,有一个简单的工具称为维格涅尔广场: 这里的每一行都是一个单独的字母,从键的相应字母开始。然后,这些列用于确定密文字母。解密的工作方式几乎相同,反之亦然。 假设我们要加密字符串CODEGOLF。我们还需要一个钥匙。在这种情况下,密钥应为FOOBAR。当密钥短于明文时,我们通过重复对其进行扩展,因此我们使用的实际密钥为FOOBARFO。现在,我们查找键的第一个字母,即F找到字母。它始于,也许不足为奇F。现在,我们找到带有纯文本首字母的列,结果字母为H。对于第二个字母,我们将其O作为关键字母和纯文本字母,结果为C。继续这样下去,我们终于得到了HCRFGFQT。 任务 现在,您的任务是解密给定密钥的消息。但是,由于我们已经不适合16世纪,并且拥有计算机,因此我们至少应该支持稍大一些的字母: abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789 Vigenère广场的结构仍然非常相似,并且密码仍然以相同的方式工作。只是有点...笨拙地在这里给出。 输入值 输入在标准输入上以两条单独的文本行给出,每行以换行符终止。第一行包含密钥,第二行包含密文。 输出量 一行,包含已解密的消息。 获奖条件 由于有时将加密视为一种武器,因此代码应简短易行。越短越好,因为它减少了发现的可能性。 样品输入1 Key miQ2eEO 样品输出1 Message 样品输入2 ThisIsAKey CoqKuGRUw29BiDTQmOpJFpBzlMMLiPb8alGruFbu 样品输出2 ThisWorksEquallyWellWithNumbers123894576 一个星期过去了。当前最短的解决方案已被接受。对于那些感兴趣的人,在我们的比赛中,我们提交了以下意见和时长: 130 – Python 146 – Haskell 195 – C 197 – C 267 – VB.NET 我们自己的解决方案在其他方面没有排名: 108 – Ruby 139 – PowerShell
28 code-golf  cipher 

16
解码Baby-talk!
当婴儿张开嘴时,他们不仅在吐胡言乱语。他们实际上是在使用高度先进的,可证明成人身份的密码... 婴儿说话密码 婴儿说话时,看起来像是gogooa gagooook aagaaoooy 每个空格分隔的部分代表一个字符(因此,上面的示例代表3个字符)。 要解密一个部分,我们必须计算它包含的As和Os的数量。但是,我们只计算与另一个元音相邻的那些。例如,“ gag”中的A不计算在内,但“ gaog”中的A和O均计算在内。 计算上面的示例如下所示: Section | Num Os | Num As gogooa | 2 | 1 gagooook | 4 | 0 aagaaoooy | 3 | 4 然后,我们使用这些值将输入转换为Polybius正方形上的纯文本。这是英文字母的5x5表示形式,省略了“ J”(请注意,在婴儿交谈中,表中使用0计数规则): 0 1 2 3 4 0 A B C D E 1 F G H I …

30
编码字母密码
给定一个仅包含小写字母的字符串,请使用字母密码对该字符串进行编码。 要使用字母密码进行编码(我将使用示例hello): 首先,根据字符串中的每个字母在字母表中的位置将它们转换为数字(a= 1,b= 2等)。示例:8 5 12 12 15 将每个数字用0s 填充到两个字符。例:08 05 12 12 15 加入。例:0805121215 测试用例 helloworld -> 08051212152315181204 codegolf -> 0315040507151206 alphabetcipher -> 0112160801020520030916080518 johncena -> 1015081403051401 请记住,这是code-golf,所以字节数最少的代码将获胜。

24
ogl-edocf挑战
输入项 一个非空的字符串,由范围内的ASCII字符组成。[ 32..126 ][32..126][32..126] 输出量 通过对输入字符串进行连续旋转来获得输出。 对于[a-zA-Z]输入字符串中的每个字母(),从左到右: 如果字母是大写字母,请将其前面的所有字符向左旋转一个位置 如果字母是小写字母,请将其前面的所有字符向右旋转一个位置 例 输入:“ Cb-Ad” 第一个字母是“ C ”。我们应该向左旋转,但是这个“ C ” 之前没有字符。因此,没有任何旋转。 下一个字母是“ b ”。我们向右旋转“ C ”。因为它是单个字符,所以它保持不变。 字符“ - ”不会触发任何旋转,因为它不是字母。 下一个字母是“ A ”。我们轮流“ CB- ”到左边,这给“ 公元前广告” 第四个也是最后一个字母是“ d ”。我们向右旋转“ b-CA ”,即为“ Ab-C d” 因此,预期输出为“ Ab-Cd ”。 规则 您可以将输入作为字符串或字符数组进行输入-根据您的语言,输入内容可能相同也可能不同。 您也可以输出字符数组而不是字符串。 这是ogl-edocf 代码高尔夫 测试用例 "cbad" -> …
22 code-golf  string  code-golf  string  code-golf  string  parsing  brainfuck  code-challenge  python  hello-world  error-message  code-golf  string  code-golf  number  integer  counting  subsequence  code-golf  string  cipher  code-golf  array-manipulation  arithmetic  integer  matrix  code-golf  math  sequence  code-golf  restricted-source  pi  popularity-contest  cops-and-robbers  polyglot  popularity-contest  cops-and-robbers  polyglot  code-golf  file-system  king-of-the-hill  code-golf  number  sequence  integer  rational-numbers  string  code-challenge  source-layout  code-golf  ascii-art  king-of-the-hill  code-golf  array-manipulation  sorting  code-golf  string  code-golf  restricted-source  source-layout  tips  math  code-challenge  permutations  logic-gates  code-golf  number  random  integer  code-golf  math  code-golf  math  number  decision-problem  king-of-the-hill  python  board-game  code-challenge  brainfuck  busy-beaver  code-golf  number  cops-and-robbers  polyglot  obfuscation  answer-chaining  code-golf  number  integer  conversion  code-golf  string  parsing  code-golf  ascii-art  number  king-of-the-hill  javascript  code-golf  source-layout  radiation-hardening  code-golf  array-manipulation  matrix  code-golf  string  graph-theory  code-golf  array-manipulation  decision-problem  code-golf  string  ascii-art  code-golf  string  code-golf  array-manipulation 

30
获取一个具有不同数字的随机n位数字,第一个不是0
我读了这个问题,并认为这将是一个不错的挑战。 任务 给一个输入0<n<10生成一个随机数 正好n位数字 第一个不是 0 所以 f(n)>10**(n-1)-1 不同的数字 获奖标准 这是代码高尔夫球,因此最短的代码获胜。 随机 我的意思是随机分布均匀。因此,从程序的角度来看,每个可能的数字都有相同的机会。如果您使用的语言具有一个奇怪的随机数生成器,则可以使用该生成器。 例 要从中随机选择的值的列表n=2是: [10, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 45, 46, 47, 48, …
22 code-golf  number  random  grid  game  king-of-the-hill  javascript  code-golf  arithmetic  statistics  code-golf  math  code-golf  math  code-golf  string  palindrome  code-golf  string  interactive  code-golf  quine  polyglot  code-golf  string  stack-exchange-api  code-golf  number-theory  decision-problem  code-golf  tips  code-golf  string  internet  code-golf  graphical-output  image-processing  fractal  code-golf  ascii-art  geometry  hexagonal-grid  code-golf  string  restricted-source  hello-world  code-golf  game  code-golf  cipher  code-golf  permutations  cops-and-robbers  permutations  cops-and-robbers  code-golf  internet  stack-exchange-api  code-golf  ascii-art  random  code-golf  tips  code-golf  ascii-art  code-golf  code-golf  kolmogorov-complexity  code-golf  string  unicode  code-golf  number  sequence  primes  palindrome  code-golf  game  decision-problem  code-golf  math  geometry  code-golf  graphical-output  interactive  code-golf  set-partitions  code-golf  number  arithmetic  restricted-source  code-golf  decision-problem  python  recursion  code-golf  ascii-art  code-golf  source-layout  code-golf  function  recursion  functional-programming  code-golf  game  combinatorics  permutations  code-golf  string  file-system  code-golf  string  hashing  code-golf  stack-exchange-api  code-golf  string  code-golf  math  number  arithmetic  polyglot 

15
凯撒转移
凯撒的转变可能是我们都熟悉的东西。 (您甚至可能将它作为一项家庭作业来完成。如果是这样,请不要复制这些答案,您的老师几乎可以肯定不想在这里得到任何类似答案的东西。) 以防万一,凯撒(Caesar)移位是一种非常简单的密码形式。它需要一个要加密的字符串和一个整数。然后,对字符串中的每个字母字符执行以下转换: 计算出字母在字母中的位置(从0开始)。 将开头收到的整数加到该数字上。 当数字大于25时,从中减去26。 计算出它所在的字母的位置。 其余字符保持不变。 必须尊重大写字母,因为没有大写字母的英语是什么? 例子: abcdefghijklmnopqrstuvwxyz 1 -> bcdefghijklmnopqrstuvwxyza Spam spam spam sausage and spam! 13 -> Fcnz fcnz fcnz fnhfntr naq fcnz! abcdefghijklmnopqrstuvwxyz 52 -> abcdefghijklmnopqrstuvwxyz abcdefghijklmnopqrstuvwxyz -1 -> zabcdefghijklmnopqrstuvwxy ABCxyz 3 -> DEFabc 假设条件 您可能会收到任何可打印的ASCII字符 输入数字可以为负,并且始终大于-128且小于128(-128<x<128) 您必须能够对大写字母和非大写字母进行可逆编码。 您必须创建完整的程序,而不仅仅是函数或代码段 您将从STDIN或最接近的候补输入 您可以选择输入格式,请在答案中注明 需要转换的字符是ASCII码点0x41 - 0x5A和0x61-0x7A-大写和小写字母 …

15
键盘移位密码
给出以下输入: 一个整数n,其中n > 0。 字符串s,其中s不能为空且s~=[0-9A-Z]+(仅字母数字大写)。 使用标准的简化QWERTY键盘(如下所示): 1234567890 QWERTYUIOP ASDFGHJKL ZXCVBNM 执行以下操作: 找到每个字符在键盘上的原始行。 根据字母的n原始位置+ n将其替换为正确的等价字母。 EG s="AB"and n=2:A将成为D,B并将成为M。 如果为keyboard_row[position + n] > keyboard_row.length,请重新开始。 EG s="0P"and n=2:0将成为2,P并将成为W。 例子: f("0PLM",1) = 1QAZ f("ZXCVB",2) = CVBNM f("HELLO",3) = LYDDW f("0PLM",11) = 1QSV f("0PLM",2130) = 0PHX 规则 这是代码高尔夫球,最低字节数获胜。 这比乍看之下要困难一些。

3
当生活给你柠檬时,做柠檬水
挑战 您将得到一个输入字符串,任何地方的话"Lemon"是发现它应转换到"Lemonade" ,但是在a,d和e在句子中必须借用了别的地方。 例 输入示例: 我小时候发现一个柠檬 示例输出: 我小时候就喝柠檬水 该柠檬水是由从原来的偷下标字母创建 我foun d柠檬水WH é ñ我是一个孩子 这只是一个可能的输出示例,“ e”,“ d”和“ a”可以从任何地方获取(当然单词除外lemon) 评论 •如果,或s 不足e,则必须输出给定字母可进行的操作。例如,输入将输出adbdblemonbblemond • lemon文本可能并不总是独立的(两边都有空格)。例如,您可能lemons在输入中的某处有单词,而输出应为lemonades •输入可以包含任意数量的lemons,甚至0 lemons(在这种情况下,输出将与输入相同) •您可以用大写和小写字母来制作您的柠檬水,例如leMon可以变成leMonade,而ade借用可以是任意大小写(因此也可以变成leMonADe)。您借用的信件的大小写必须保持与借用时相同。(示例输入->输出,he hAD lemOn-> h h lemOnADe) •不必是一个完整的程序,仅一个功能就可以。 •您可以假设输入仅是CP437字符集 高尔夫代码 这是代码高尔夫球,因此赢得最少的字节数! 伪测试案例 *注意:对于任何给定的输入,可能会有多个可能的输出,因此您的程序可能无法完全按照这些测试用例的方式输出,这仅仅是为了使人们可以理解逻辑: 输入:EpaD leMons 输出:p LeMonaDEs 输入:hello world 输出:hello world 输入:柠檬柠檬 输出:柠檬柠檬 *(本e,a,d字母不应该从另一个“柠檬”拍摄) 输入:HE HAD柠檬水 输出:HH …
21 code-golf  string  code-golf  parsing  internet  stack-exchange-api  code-challenge  kolmogorov-complexity  restricted-source  brain-flak  python  logic  pyth  code-golf  string  search  optimized-output  code-golf  tips  language-design  golfing-language  code-golf  tips  language-design  code-golf  number  sorting  pi  code-golf  math  number  code-golf  string  balanced-string  classification  brain-flak  code-golf  math  number-theory  decision-problem  code-golf  tips  code-golf  number  sequence  code-golf  balanced-string  brain-flak  code-golf  math  sequence  arithmetic  fibonacci  code-golf  math  parsing  code-golf  string  keyboard  code-golf  code-golf  string  source-layout  whitespace  code-golf  math  rational-numbers  code-golf  string  code-golf  string  code-golf  math  sequence  code-golf  number  floating-point  code-golf  string  decision-problem  subsequence  code-golf  string  kolmogorov-complexity  code-golf  string  permutations  balanced-string  brain-flak  code-golf  string  math  number  code-golf  string  primes  cipher  code-golf  string  ascii-art  chemistry  code-golf  ascii-art  grid  counting  code-golf  math  arithmetic  integer  code-golf  number  kolmogorov-complexity  code-golf  ascii-art  kolmogorov-complexity  sequence  metagolf  brain-flak  code-golf  ascii-art  kolmogorov-complexity  code-golf  string  whitespace 

30
用给定的宽度绘制空心的#
我从Codingame那里获得了这一挑战,并且对比我的更好的解决方案感到好奇: 通过标准输入给定宽度,在给定的宽度和长度上绘制一个空心的#号正方形。 例: 5结果 ##### # # # # # # ##### 我用python解决了这个问题,所以我对其他python代码特别感兴趣。但是,请随时以所需的任何语言发布您的解决方案。
21 code-golf  string  ascii-art  number  code-golf  grid  code-golf  string  ascii-art  code-golf  alphabet  cipher  code-golf  math  number  code-golf  quine  code-golf  palindrome  polyglot  code-golf  number  array-manipulation  counting  logic  code-golf  string  primes  binary  decision-problem  code-golf  ascii-art  kolmogorov-complexity  popularity-contest  code-golf  probability-theory  code-golf  string  code-golf  python  polyglot  programming-puzzle  c++  code-golf  math  code-golf  binary  integer  bitwise  code-golf  rational-numbers  code-golf  string  palindrome  code-golf  ascii-art  code-golf  code-golf  string  fibonacci  code-golf  math  sequence  code-golf  code-golf  string  palindrome  code-golf  string  code-golf  math  primes  source-layout  code-golf  sequence  binary  integer  code-golf  math  arithmetic  game  code-golf  restricted-source  palindrome  code-golf  restricted-source  palindrome  code-golf  combinatorics  binary  code-golf  string  math  code-golf  ascii-art  number  code-golf  cipher  code-golf  base-conversion  counting  code-golf  sequence  random  classification  code-golf  string  subsequence  code-golf  permutations  code-golf  string  code-golf  string  cipher  code-golf  kolmogorov-complexity  arithmetic  integer  code-golf  quine  markov-chain  code-golf  string  code-golf  code-golf  ascii-art  maze 

13
Trifid Cipher(无关键字)
介绍: 我曾经在小时候编译过的文档中存储了许多不同的密码,我选择了一些我认为最适合挑战的密码(不太琐碎,也不太难),并将它们转变为挑战。它们中的大多数仍在沙箱中,我不确定是否要全部发布还是仅发布其中几个。这是第二个(计算机密码是我发布的第一个)。 对于Trifid Cipher(不使用关键字),字母(和附加的通配符)被分为三个3×3表: table 1: table 2: table 3: |1 2 3 |1 2 3 |1 2 3 -+----- -+----- -+----- 1|a b c 1|j k l 1|s t u 2|d e f 2|m n o 2|v w x 3|g h i 3|p q r 3|y z 我们要加密的文本是第一个字符,每个字符编码为表行-列号。例如,文本this is …

9
电话号码乱码
您知道如何收到语音邮件,并且此人的联系不好,并且您正在尝试找出如何回叫他们,但是您不确定他们是“ 5”还是“ 8”说过? 这就是挑战。 好消息是,呼叫者两次读出了他们的电话号码,但两个地方都出现了乱码。 您的程序应采用这样的输入: 5551231234 / 5551231234 前十位数是语音邮件中第一次说出电话号码的地方,而第二组是第二次语音电话中说出来的号码。只有...看起来会更像这样: 555?ABC1_36? / 55?522_1?234 一个数字后跟一个问号意味着该数字是最好的猜测(例如,“ 5?”表示“可能是5,与重复比较”)。 下划线表示一个已知的丢失数字,该数字由于静电而变得模糊不清,根本无法解密。 字母就是:字母。将它们视为各自的数字 ABC-> 2,DEF-> 3,GHI-> 4,JKL-> 5,MNO-> 6,PQRS-> 7,TUV-> 8,WXYZ-> 9 所有示例输入均使用大写字母(您可以安全地忽略ToUpper()调用) 如果您的语言在小写形式下效果更好,则可以自由使用小写形式输入,并忽略ToLower()调用。只需在您的答案中注明即可。 您还可以假设以下判断调用: 5? / _ -> 5 //5 is the best guess we have, use it 5? / 5? -> 5 //uncertain, but …
19 code-golf  cipher 

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.