diff options
Diffstat (limited to 'security/crypt-password')
4 files changed, 133 insertions, 0 deletions
diff --git a/security/crypt-password/README.md b/security/crypt-password/README.md new file mode 100644 index 00000000..1ce79273 --- /dev/null +++ b/security/crypt-password/README.md @@ -0,0 +1,10 @@ +Crypt Password +================================== + +Library to generate and match cryptography password using BCrypt algorithm + +### Requirements +mvn clean install + +### How to use +java -jar crypt-password-<version>.jar password_to_crypt
\ No newline at end of file diff --git a/security/crypt-password/pom.xml b/security/crypt-password/pom.xml new file mode 100644 index 00000000..bdb3bb4b --- /dev/null +++ b/security/crypt-password/pom.xml @@ -0,0 +1,54 @@ +<?xml version="1.0" encoding="UTF-8"?> +<project xmlns="http://maven.apache.org/POM/4.0.0" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> + + <parent> + <groupId>org.onap.dcaegen2.services.sdk.security</groupId> + <artifactId>dcaegen2-services-sdk-security</artifactId> + <version>1.0.0-SNAPSHOT</version> + </parent> + <modelVersion>4.0.0</modelVersion> + + <groupId>org.onap.dcaegen2.services.sdk.security.crypt</groupId> + <artifactId>crypt-password</artifactId> + <version>1.0.0-SNAPSHOT</version> + + <name>dcaegen2-services-sdk-security-crypt-password</name> + <description>DMaaP Security Module</description> + <packaging>jar</packaging> + + <dependencies> + <dependency> + <groupId>org.springframework.security</groupId> + <artifactId>spring-security-crypto</artifactId> + <version>3.1.0.RELEASE</version> + </dependency> + </dependencies> + + <build> + <plugins> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-shade-plugin</artifactId> + <version>3.2.1</version> + <executions> + <execution> + <phase>package</phase> + <goals> + <goal>shade</goal> + </goals> + <configuration> + <transformers> + <transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer"> + <mainClass>org.onap.dcaegen2.services.sdk.security.DecodePassword</mainClass> + </transformer> + </transformers> + </configuration> + </execution> + </executions> + </plugin> + </plugins> + </build> + +</project>
\ No newline at end of file diff --git a/security/crypt-password/src/main/java/org/onap/dcaegen2/services/sdk/security/CryptPassword.java b/security/crypt-password/src/main/java/org/onap/dcaegen2/services/sdk/security/CryptPassword.java new file mode 100644 index 00000000..6ca78a01 --- /dev/null +++ b/security/crypt-password/src/main/java/org/onap/dcaegen2/services/sdk/security/CryptPassword.java @@ -0,0 +1,35 @@ +/* + * ============LICENSE_START======================================================= + * DCAEGEN2-SERVICES-SDK + * ================================================================================ + * Copyright (C) 2018 NOKIA Intellectual Property. All rights reserved. + * ================================================================================ + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============LICENSE_END========================================================= + */ +package org.onap.dcaegen2.services.sdk.security; + +import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder; + +public class CryptPassword { + + private BCryptPasswordEncoder encoder = new BCryptPasswordEncoder(); + + public String decode(String arg) { + return encoder.encode(arg); + } + + public boolean matches(String rawPassword, String encodedPassword){ + return encoder.matches(rawPassword,encodedPassword); + } +} diff --git a/security/crypt-password/src/main/java/org/onap/dcaegen2/services/sdk/security/DecodePassword.java b/security/crypt-password/src/main/java/org/onap/dcaegen2/services/sdk/security/DecodePassword.java new file mode 100644 index 00000000..85412eb6 --- /dev/null +++ b/security/crypt-password/src/main/java/org/onap/dcaegen2/services/sdk/security/DecodePassword.java @@ -0,0 +1,34 @@ +/* + * ============LICENSE_START======================================================= + * DCAEGEN2-SERVICES-SDK + * ================================================================================ + * Copyright (C) 2018 NOKIA Intellectual Property. All rights reserved. + * ================================================================================ + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============LICENSE_END========================================================= + */ +package org.onap.dcaegen2.services.sdk.security; + +class DecodePassword { + + private static CryptPassword cryptPassword = new CryptPassword(); + + public static void main(String[] args) { + + try { + System.out.println(cryptPassword.decode(args[0])); + }catch(Exception e){ + System.out.println("Param to crypt is required !"); + } + } +} |