华为OD:敏感字段加密

本文涉及的产品
密钥管理服务KMS,1000个密钥,100个凭据,1个月
简介: 华为OD:敏感字段加密

题目描述:

给定一个由多个命令字组成的命令字符串:


1、字符串长度小于等于127字节,只包含大小写字母,数字,下划线和偶数个双引号;

2、命令字之间以一个或多个下划线_进行分割;

3、可以通过两个双引号”"来标识包含下划线-的命令字或空命令字(仅包含两个双引号的命令字) ,双引号不会在命令字内部出现;

请对指定索引的敏感字段进行加密,替换为**(6个*) ,并删除命令字前后多余的下划线_。如果无法找到指定索引的命令字,输出字符串 ERROR。

输入描述:

输入为两行,第一行为命令字索引K(从0开始),第二行为命令字符串S。

输出描述:

输出处理后的命令字符串,如果无法找到指定索引的命令字,输出字符串ERROR。

用例:

Java代码:

import java.util.LinkedList;
import java.util.List;
import java.util.Scanner;
import java.util.StringJoiner;
import java.util.stream.Collectors;
public class Main{
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        int k = Integer.parseInt(sc.nextLine());
        String s = sc.nextLine();
        System.out.println(getResult(k,s));    
    }
    public static String getResult(int k,String s){
        StringBuilder stack = new StringBuilder();
        LinkedList<String> result = new LinkedList<>();
        for(int i = 0;i<s.lenth();i++){
            char c=s.charAt(i);
            if(c== '_' &&(stack.length()==0||stack.char) result.add(stack.toString());
            stack=new StringBuilder();        
        }else if(c==''''&&stack.length()!=0){
            stack.append('''');
            result.add(stack.toString());
            stack=new StringBuilder();        
        } else{
            stack.append(c);        
        }   
    }
    if(stack.length()>0)result.add(stack.toString());
    List<String>ans = result.stream().filter(str ->!'''');
    if(k>ans.size()-1) return "ERROR";
    ans.set(k,"*****");
    StringJoiner sj = new StringJoiner("_");
    for(String an:ans)sj.add(an);
    return sj.toString();
}
}


相关文章
|
7月前
|
XML Java 关系型数据库
如何给application.yml文件的敏感信息加密?
本文介绍了如何在SpringBoot应用中使用jasypt进行配置信息的加密解密。首先,需要添加jasypt-spring-boot-starter的依赖,版本至少为3.0.5。接着,在配置文件中设置`jasypt.encryptor.password`等参数。jasypt提供`StringEncryptor`接口用于加密解密,通过该接口可以在测试类中对敏感信息(如数据库用户名和密码)进行加解密。加密后的信息需带有`ENC()`前后缀。推荐将加密密码作为系统属性、命令行参数或环境变量传递,而不是直接写入配置文件。
389 3
|
2月前
|
安全 数据安全/隐私保护 开发者
保护敏感数据:使用Python加密数据的实用方法
保护敏感数据是一项基本的安全实践,Python通过上述库提供了强大的加密工具来实现这一目标。选择哪种方法取决于具体的应用场景和安全需求:对称加密(如AES)适合快速处理大量数据,而非对称加密(如RSA)更适合安全地交换密钥或进行身份验证。哈希函数则用于验证数据的完整性和一致性。通过合理使用这些技术,开发者可以大大增强其应用程序的安全性。
95 0
|
6月前
|
存储 安全 API
使用KMS为Apollo配置中心敏感配置加密的最佳实践
使用KMS为Apollo配置中心敏感配置加密的最佳实践
855 2
|
7月前
|
存储 安全 Nacos
使用KMS为MSE-Nacos敏感配置加密的最佳实践
本文主要介绍通过KMS密钥管理服务产生的密钥对敏感的AK等数据进行加密之后可以有效解决泄漏带来的安全风险问题,其次通过KMS凭据托管的能力直接将MSE的主AK进行有效管理,保障全链路无AK的业务体验,真正做到安全、可控。
93191 5
|
7月前
|
存储 安全 算法
|
存储 Java 数据库
在 Spring Boot 中如何实现对加密后的敏感字段进行模糊查询?
在 Spring Boot 中如何实现对加密后的敏感字段进行模糊查询?
567 0
在 Spring Boot 中如何实现对加密后的敏感字段进行模糊查询?
|
安全 IDE NoSQL
SpringBoot敏感配置加密:Jasypt
SpringBoot敏感配置加密:Jasypt
185 0
|
druid 安全 IDE
SpringBoot敏感配置加密:Druid
SpringBoot敏感配置加密:Druid
703 0
|
1天前
|
安全 算法 网络协议
【网络原理】——图解HTTPS如何加密(通俗简单易懂)
HTTPS加密过程,明文,密文,密钥,对称加密,非对称加密,公钥和私钥,证书加密
|
20天前
|
存储 SQL 安全
网络安全与信息安全:关于网络安全漏洞、加密技术、安全意识等方面的知识分享
随着互联网的普及,网络安全问题日益突出。本文将介绍网络安全的重要性,分析常见的网络安全漏洞及其危害,探讨加密技术在保障网络安全中的作用,并强调提高安全意识的必要性。通过本文的学习,读者将了解网络安全的基本概念和应对策略,提升个人和组织的网络安全防护能力。

热门文章

最新文章