
<!DOCTYPE html>
<!--
 Generated by Apache Maven Doxia at 2017-03-29
 Rendered using Reflow Maven Skin 1.1.1 (http://andriusvelykis.github.io/reflow-maven-skin)
-->
<html  xml:lang="en" lang="en">

	<head>
		<meta charset="UTF-8" />
		<title>Apache OpenMeetings Project - 
		Howto create a Custom Crypt styles</title>
		<meta name="viewport" content="width=device-width, initial-scale=1.0" />
		<meta name="description" content="" />
		<meta name="author" content="Apache OpenMeetings Team" />
		<meta http-equiv="content-language" content="en" />
 
		<link href=".//css/bootstrap.min.css" rel="stylesheet" />
		<link href=".//css/bootstrap-responsive.min.css" rel="stylesheet" />
		<link href=".//css/docs.css" rel="stylesheet" />
		<link href=".//css/reflow-skin.css" rel="stylesheet" />


		<link href=".//css/lightbox.css" rel="stylesheet" />

		<link href=".//css/site.css" rel="stylesheet" />
		<link href=".//css/print.css" rel="stylesheet" media="print" />

		<!-- Le HTML5 shim, for IE6-8 support of HTML5 elements -->
		<!--[if lt IE 9]>
			<script src=".//js/html5.js"></script>
		<![endif]-->


		
	</head>

	<body class="page-customcryptmechanism project-openmeetings-server" data-spy="scroll" data-offset="60" data-target="#toc-scroll-target">

		<div class="navbar navbar-fixed-top">
			<div class="navbar-inner">
				<div class="container">
					<a class="btn btn-navbar" data-toggle="collapse" data-target="#top-nav-collapse">
						<span class="icon-bar"></span>
						<span class="icon-bar"></span>
						<span class="icon-bar"></span>
					</a>
					<div class="brand"><span class="color-highlight">Apache</span> OpenMeetings</div>
					<div class="nav-collapse collapse" id="top-nav-collapse">
						<ul class="nav pull-right">
							<li ><a href="demo.html" title="Demo">Demo</a></li>
							<li ><a href="downloads.html" title="Download">Download</a></li>
							<li ><a href="https://cwiki.apache.org/confluence/display/OPENMEETINGS" title="Wiki" class="externalLink">Wiki</a></li>
							<li class="dropdown">
								<a href="#" class="dropdown-toggle" data-toggle="dropdown">General <b class="caret"></b></a>
								<ul class="dropdown-menu">
									<li ><a href="index.html" title="Home">Home</a></li>
									<li ><a href="license.html" title="License">License</a></li>
									<li ><a href="http://www.apache.org/" title="ASF" class="externalLink">ASF</a></li>
									<li ><a href="CallForLogo.html" title="Call For Logo">Call For Logo</a></li>
									<li ><a href="NewsArchive.html" title="News archive">News archive</a></li>
									<li ><a href="security.html" title="Security">Security</a></li>
									<li ><a href="commercial-support.html" title="Commercial Support">Commercial Support</a></li>
								</ul>
							</li>
							<li class="dropdown">
								<a href="#" class="dropdown-toggle" data-toggle="dropdown">Installation <b class="caret"></b></a>
								<ul class="dropdown-menu">
									<li ><a href="installation.html" title="Installation">Installation</a></li>
									<li ><a href="Upgrade.html" title="Upgrade">Upgrade</a></li>
									<li ><a href="https://cwiki.apache.org/confluence/display/OPENMEETINGS/Tutorials+for+installing+OpenMeetings+and+Tools" title="Tutorials" class="externalLink">Tutorials</a></li>
									<li ><a href="CommandLineAdmin.html" title="Command Line Admin">Command Line Admin</a></li>
								</ul>
							</li>
							<li class="dropdown">
								<a href="#" class="dropdown-toggle" data-toggle="dropdown">Community <b class="caret"></b></a>
								<ul class="dropdown-menu">
									<li ><a href="get-involved.html" title="Get Involved">Get Involved</a></li>
									<li ><a href="team-list.html" title="Committers">Committers</a></li>
									<li ><a href="OurUsers.html" title="Our Users">Our Users</a></li>
									<li ><a href="mail-lists.html" title="Mailing Lists">Mailing Lists</a></li>
									<li ><a href="http://cwiki.apache.org/confluence/display/OPENMEETINGS/" title="Wiki" class="externalLink">Wiki</a></li>
								</ul>
							</li>
							<li class="dropdown">
								<a href="#" class="dropdown-toggle" data-toggle="dropdown">Development <b class="caret"></b></a>
								<ul class="dropdown-menu">
									<li ><a href="source-repository.html" title="Source Code">Source Code</a></li>
									<li ><a href="issue-tracking.html" title="Bugs / Issues">Bugs / Issues</a></li>
									<li ><a href="dependencies.html" title="Dependencies">Dependencies</a></li>
									<li ><a href="integration.html" title="Continuous Integration">Continuous Integration</a></li>
									<li ><a href="BuildInstructions_3.0.x.html" title="Build Instructions 3.0.x">Build Instructions 3.0.x</a></li>
									<li ><a href="BuildInstructions.html" title="Build Instructions">Build Instructions</a></li>
									<li ><a href="JUnitTesting.html" title="JUnit Testing">JUnit Testing</a></li>
									<li ><a href="ManualTesting.html" title="Manual Testing">Manual Testing</a></li>
									<li ><a href="ReleaseGuide.html" title="Release Guide">Release Guide</a></li>
									<li ><a href="WebsiteGuide.html" title="Website Guide">Website Guide</a></li>
								</ul>
							</li>
							<li class="dropdown active">
								<a href="#" class="dropdown-toggle" data-toggle="dropdown">Configuration <b class="caret"></b></a>
								<ul class="dropdown-menu">
									<li class="dropdown-submenu ">
										<a href="CustomCryptMechanism.html#integration" title="Integration">Integration</a>
										<ul class="dropdown-menu">
											<li ><a href="openmeetings-webservice/apidocs/index.html" title="SOAP/REST API" target="_blank">SOAP/REST API</a></li>
											<li ><a href="RestAPISample.html" title="REST API Sample">REST API Sample</a></li>
											<li ><a href="LdapAndADS.html" title="Ldap and ADS">Ldap and ADS</a></li>
											<li ><a href="oauth2.html" title="OAuth2">OAuth2</a></li>
											<li ><a href="voip-sip-integration.html" title="VoIP and SIP">VoIP and SIP</a></li>
											<li ><a href="errorvalues.html" title="Errors table">Errors table</a></li>
										</ul>
									</li>
									<li class="dropdown-submenu ">
										<a href="CustomCryptMechanism.html#plugins" title="Plugins">Plugins</a>
										<ul class="dropdown-menu">
											<li ><a href="MoodlePlugin.html" title="Moodle Plugin">Moodle Plugin</a></li>
											<li ><a href="SakaiPlugin.html" title="Sakai Plugin">Sakai Plugin</a></li>
											<li ><a href="JiraPlugin.html" title="Jira Plugin">Jira Plugin</a></li>
											<li ><a href="JoomlaPlugin.html" title="Joomla Plugin">Joomla Plugin</a></li>
											<li ><a href="DrupalPlugin.html" title="Drupal Plugin">Drupal Plugin</a></li>
											<li ><a href="BitrixPlugin.html" title="Bitrix Plugin">Bitrix Plugin</a></li>
											<li ><a href="ConfluencePlugin.html" title="Confluence Plugin">Confluence Plugin</a></li>
											<li ><a href="SugarCRMPlugin.html" title="SugarCRM Plugin">SugarCRM Plugin</a></li>
											<li ><a href="RedminePlugin.html" title="Redmine Plugin">Redmine Plugin</a></li>
										</ul>
									</li>
									<li class="dropdown-submenu ">
										<a href="CustomCryptMechanism.html#db" title="DB Sample Configurations">DB Sample Configurations</a>
										<ul class="dropdown-menu">
											<li ><a href="ApacheDerbyConfig.html" title="Apache Derby">Apache Derby</a></li>
											<li ><a href="IBMDB2Config.html" title="IBM DB2">IBM DB2</a></li>
											<li ><a href="OracleConfig.html" title="Oracle">Oracle</a></li>
											<li ><a href="MySQLConfig.html" title="MySQL">MySQL</a></li>
											<li ><a href="PostgresConfig.html" title="Postgres">Postgres</a></li>
											<li ><a href="MSSQLConfig.html" title="MSSQL">MSSQL</a></li>
										</ul>
									</li>
									<li class="dropdown-submenu ">
										<a href="CustomCryptMechanism.html#localization" title="Localization and languages">Localization and languages</a>
										<ul class="dropdown-menu">
											<li ><a href="Internationalisation.html" title="Internationalisation">Internationalisation</a></li>
											<li ><a href="LanguageEditor.html" title="LanguageEditor">LanguageEditor</a></li>
											<li ><a href="TimeZoneHandling.html" title="TimeZoneHandling">TimeZoneHandling</a></li>
											<li ><a href="EditTemplates.html" title="EditTemplates">EditTemplates</a></li>
										</ul>
									</li>
									<li class="dropdown-submenu ">
										<a href="CustomCryptMechanism.html#port" title="NAT Port Settings">NAT Port Settings</a>
										<ul class="dropdown-menu">
											<li ><a href="PortSettings.html" title="Port settings">Port settings</a></li>
										</ul>
									</li>
									<li class="dropdown-submenu ">
										<a href="CustomCryptMechanism.html#performance" title="Performance">Performance</a>
										<ul class="dropdown-menu">
											<li ><a href="JVMPerformanceTuning.html" title="JVM performance tuning">JVM performance tuning</a></li>
											<li ><a href="NetworkCalculator.html" title="Network bandwidth calculator">Network bandwidth calculator</a></li>
										</ul>
									</li>
									<li class="dropdown-submenu ">
										<a href="CustomCryptMechanism.html#interface" title="User Interface">User Interface</a>
										<ul class="dropdown-menu">
											<li ><a href="themes-and-branding.html" title="Themes">Themes</a></li>
											<li ><a href="Dashboard.html" title="Dashboard">Dashboard</a></li>
											<li ><a href="WebcamResolutions.html" title="Webcam resolutions">Webcam resolutions</a></li>
											<li ><a href="ConferenceRoomLayoutOptions.html" title="Room layout options">Room layout options</a></li>
											<li ><a href="HotKeys.html" title="Hot Keys">Hot Keys</a></li>
										</ul>
									</li>
									<li class="dropdown-submenu ">
										<a href="CustomCryptMechanism.html#customize" title="Customization">Customization</a>
										<ul class="dropdown-menu">
											<li ><a href="WebappNamePath.html" title="Webapp name/path">Webapp name/path</a></li>
											<li ><a href="Navigation.html" title="Navigation">Navigation</a></li>
											<li ><a href="CalendarAndTimezone.html" title="Calendar and timezone">Calendar and timezone</a></li>
											<li ><a href="CustomRoomTypeHowTo.html" title="Custom room type">Custom room type</a></li>
											<li class="active"><a href="" title="Custom crypt mechanism">Custom crypt mechanism</a></li>
											<li ><a href="GeneralConfiguration.html" title="General Configuration">General Configuration</a></li>
										</ul>
									</li>
									<li class="dropdown-submenu ">
										<a href="CustomCryptMechanism.html#security" title="Security">Security</a>
										<ul class="dropdown-menu">
											<li ><a href="RestrictedAccess.html" title="Restricted Access">Restricted Access</a></li>
											<li ><a href="RTMPSAndHTTPS.html" title="RTMPS and HTTPS">RTMPS and HTTPS</a></li>
										</ul>
									</li>
									<li class="dropdown-submenu ">
										<a href="CustomCryptMechanism.html#convert" title="Converters">Converters</a>
										<ul class="dropdown-menu">
											<li ><a href="OpenOfficeConverter.html" title="OpenOffice Converter">OpenOffice Converter</a></li>
										</ul>
									</li>
									<li class="dropdown-submenu ">
										<a href="CustomCryptMechanism.html#cluster" title="Clustering">Clustering</a>
										<ul class="dropdown-menu">
											<li ><a href="Clustering.html" title="Clustering">Clustering</a></li>
										</ul>
									</li>
									<li class="dropdown-submenu ">
										<a href="CustomCryptMechanism.html#misc" title="Misc">Misc</a>
										<ul class="dropdown-menu">
											<li ><a href="GetVersionInfo.html" title="Get version info">Get version info</a></li>
										</ul>
									</li>
								</ul>
							</li>
						</ul>
					</div><!--/.nav-collapse -->
				</div>
			</div>
		</div>

	<div class="container">

	<!-- Masthead
	================================================== -->

	<header>
	<div class="jumbotron subhead">
		<div class="row" id="banner">
			<div class="span12">
				<div class="pull-left">
					<a href="index.html" id="bannerLeft"><img src="images/logo.png" alt='"'Apache OpenMeetings'"' /></a>
				</div>
				<div class="pull-right">
					<a href="http://apache.org" id="bannerRight"><img src="http://apache.org/img/asf_logo.png" alt='"'Apache'"' /></a>
				</div>
			</div>
		</div>
	</div>
		<div>
			<ul class="breadcrumb">
				<li class="publishDate version-date">Last Published: 2017-03-29</li>
			</ul>
		</div>
	</header>

	<div class="main-body">
	<div class="row">
		<div class="span8">
			<div class="body-content">
<!-- 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. --> 
<div class="section"> 
 <div class="page-header">
  <h2 id="Configuration_of_Custom_Crypt-Style">Configuration of Custom Crypt-Style</h2>
 </div> 
 <p> You can use custom Crypt-Types, but you should decide during installation which Type of encryption you want to use. By default two type are available: </p> 
 <ul> 
  <li>org.apache.openmeetings.util.crypt.MD5Implementation - this uses common MD5 Crypt like PHP does, this is the default one (results in something like: fe01ce2a7fbac8fafaed7c982a04e229)</li> 
  <li>org.apache.openmeetings.util.crypt.MD5CryptImplementation - does use BSD-Style of encryption using a salt (results in something like: $1$GMsj7F2I$5S3r9CeukXGXNwf6b4sph1)</li> 
 </ul> 
 <p> You can edit the config-key during Installation or later in the Administration Panel. But if you change it using the Administration-Panel previous passwords might be not working anymore as they are encrypted with another algorithm. </p> 
</div> 
<div class="section"> 
 <h2 id="Configuration_of_Custom_Crypt-Style">Configuration of Custom Crypt-Style</h2> 
 <p> To add your own crypt style you need to write a class which implements the interface: org.apache.openmeetings.util.crypt.ICrypt <br /> Example of an Implementation: </p> 
 <div class="source"> 
  <pre>

package org.apache.openmeetings.util.crypt;

import static org.apache.openmeetings.util.OpenmeetingsVariables.webAppRootKey;

import java.security.NoSuchAlgorithmException;

import org.red5.logging.Red5LoggerFactory;
import org.slf4j.Logger;

public class MD5Implementation implements ICrypt {
	private static final Logger log = Red5LoggerFactory.getLogger(MD5Implementation.class, webAppRootKey);

	/*
	 * (non-Javadoc)
	 * @see org.apache.openmeetings.utils.crypt.ICrypt#hash(java.lang.String)
	 */
	@Override
	public String hash(String str) {
		String passPhrase = null;
		try {
			passPhrase = MD5.checksum(str);
		} catch (NoSuchAlgorithmException e) {
			log.error(&quot;Error&quot;, e);
		}
		return passPhrase;
	}

	/*
	 * (non-Javadoc)
	 * @see org.apache.openmeetings.utils.crypt.ICrypt#verify(java.lang.String, java.lang.String)
	 */
	@Override
	public boolean verify(String str, String hash) {
		return hash != null &amp;&amp; hash.equals(hash(str));
	}
}

			</pre> 
 </div> 
 <p>To add your own Encryption-Class you need to add your class to the OpenMeetings-Webapp (make it available to the webapp-classpath) and use your custom-class-name instead of org.apache.openmeetings.util.crypt.MD5Implementation during the Installation or at runtime by editing the config-key crypt_ClassName</p> 
</div> 
<div class="section"> 
 <h2 id="Configuration_of_Custom_Crypt-Style">Configuration of Custom Crypt-Style</h2> 
 <p>credits goto Mika for sharing his Implementation of the MD5Crypt-Style</p> 
</div>
			</div>
		</div>
		<div class="span4">
			<div id="toc-sidebar">
				<div class="well">
					<ul class="nav nav-list">
						<li class="nav-header">Table of Contents</li>
		<li><a href="#Configuration_of_Custom_Crypt-Style" title="Configuration of Custom Crypt-Style">Configuration of Custom Crypt-Style</a>
		<li><a href="#Configuration_of_Custom_Crypt-Style" title="Configuration of Custom Crypt-Style">Configuration of Custom Crypt-Style</a>
		<li><a href="#Configuration_of_Custom_Crypt-Style" title="Configuration of Custom Crypt-Style">Configuration of Custom Crypt-Style</a>
					</ul>
				</div>
			</div>
		</div>
	</div>
	</div>

	</div><!-- /container -->

	<!-- Footer
	================================================== -->
	<footer class="well">
		<div class="container">
			<div class="row">
				<div class="span3 bottom-nav">
					<ul class="nav nav-list">
						<li class="nav-header">General</li>
						<li >
							<a href="index.html" title="Home">Home</a>
						</li>
						<li >
							<a href="license.html" title="License">License</a>
						</li>
						<li >
							<a href="http://www.apache.org/" title="ASF" class="externalLink">ASF</a>
						</li>
						<li >
							<a href="CallForLogo.html" title="Call For Logo">Call For Logo</a>
						</li>
						<li >
							<a href="NewsArchive.html" title="News archive">News archive</a>
						</li>
						<li >
							<a href="security.html" title="Security">Security</a>
						</li>
						<li >
							<a href="commercial-support.html" title="Commercial Support">Commercial Support</a>
						</li>
					</ul>
				</div>
				<div class="span3 bottom-nav">
					<ul class="nav nav-list">
						<li class="nav-header">Installation</li>
						<li >
							<a href="installation.html" title="Installation">Installation</a>
						</li>
						<li >
							<a href="Upgrade.html" title="Upgrade">Upgrade</a>
						</li>
						<li >
							<a href="https://cwiki.apache.org/confluence/display/OPENMEETINGS/Tutorials+for+installing+OpenMeetings+and+Tools" title="Tutorials" class="externalLink">Tutorials</a>
						</li>
						<li >
							<a href="CommandLineAdmin.html" title="Command Line Admin">Command Line Admin</a>
						</li>
					</ul>
				</div>
				<div class="span3 bottom-nav">
					<ul class="nav nav-list">
						<li class="nav-header">Community</li>
						<li >
							<a href="get-involved.html" title="Get Involved">Get Involved</a>
						</li>
						<li >
							<a href="team-list.html" title="Committers">Committers</a>
						</li>
						<li >
							<a href="OurUsers.html" title="Our Users">Our Users</a>
						</li>
						<li >
							<a href="mail-lists.html" title="Mailing Lists">Mailing Lists</a>
						</li>
						<li >
							<a href="http://cwiki.apache.org/confluence/display/OPENMEETINGS/" title="Wiki" class="externalLink">Wiki</a>
						</li>
					</ul>
				</div>
				<div class="span3 bottom-nav">
					<ul class="nav nav-list">
						<li class="nav-header">Development</li>
						<li >
							<a href="source-repository.html" title="Source Code">Source Code</a>
						</li>
						<li >
							<a href="issue-tracking.html" title="Bugs / Issues">Bugs / Issues</a>
						</li>
						<li >
							<a href="dependencies.html" title="Dependencies">Dependencies</a>
						</li>
						<li >
							<a href="integration.html" title="Continuous Integration">Continuous Integration</a>
						</li>
						<li >
							<a href="BuildInstructions_3.0.x.html" title="Build Instructions 3.0.x">Build Instructions 3.0.x</a>
						</li>
						<li >
							<a href="BuildInstructions.html" title="Build Instructions">Build Instructions</a>
						</li>
						<li >
							<a href="JUnitTesting.html" title="JUnit Testing">JUnit Testing</a>
						</li>
						<li >
							<a href="ManualTesting.html" title="Manual Testing">Manual Testing</a>
						</li>
						<li >
							<a href="ReleaseGuide.html" title="Release Guide">Release Guide</a>
						</li>
						<li >
							<a href="WebsiteGuide.html" title="Website Guide">Website Guide</a>
						</li>
					</ul>
				</div>
			</div>
		</div>
	</footer>

	<div class="container subfooter">
		<div class="row">
			<div class="span12">
				<p class="pull-right"><a href="#">Back to top</a></p>
				<p class="copyright">Copyright &copy;2012-2017 <a href="http://apache.org">Apache Software Foundation</a>. All Rights Reserved.</p>
			</div>
		</div>
	</div>

	<!-- Le javascript
	================================================== -->
	<!-- Placed at the end of the document so the pages load faster -->
	<script src=".//js/jquery.min.js"></script>

	<script src=".//js/bootstrap.min.js"></script>
	<script src=".//js/lightbox.min.js"></script>
	<script src=".//js/reflow-scroll.js"></script>
	
<script src=".//js/jquery-ui.min.js" type="text/javascript"></script>
<script src=".//js/netcalc.js" type="text/javascript"></script>
	<script src=".//js/reflow-skin.js"></script>

	</body>
</html>
